SIGUnix

Minutes for 2000.10.05

Go to the ACM conference this weekend!

Project Updates

Note: some projects may be missing from the update list because the secretary arrived late.

pftp

LimitGuard

MP3-Player

Distribution

General Discussion

Member has Linux kernel panics

Member is rooted

Using GL full-screen apps

Meeting mini-presentation: Fork/exec

fork()
creates a copy of the currently-runnining process
generally used in combination with exec()
found in C and Perl
exec(command)
replaces the current process with command
used with fork(), is the method to create new processes
clone() on Linux
similar to fork, but user can decide what is shared between the child and parent
useful for threading

Forking processes creates a process tree.

ps

ps is used to view process information.

arguments/options

elf
popular on on SysV for display most useful information
supported on some BSD's
aux
on BSD, similar to elf

General Process Information

root of process tree, init

The root of the process tree is init, which has a PID of 1. Killing init has the effect of killing the system.

Killing parents, children

In general, killing the parent of a process kills all descendants.

When a child exits, the parent must wait() to clean up after it. Until the parent performs this wait, the child is a zombie. If the parent doesn't wait, and exits, the clean-up is delegated to init, which will then clean-up the child, eliminating it as a zombie.