Defunct UNIX processes When a parent process "forks off" a child process: 1) The child process always knows his parent process (can be seen as PPID in "ps" output). 2) When the child process completes, the kernel sends a signal to the parent. A) the child process goes into "defunct" state B) when the parent process acknowledges that its child process has completed (handles the interrupt from the signal) the child process is removed from the process table and is gone forever, never to be seen again. C) If the parent process completes before acknowledging that a child process has completed (defunct process) then any "defunct" child processes will be removed from the process table and are gone forever, never to be seen again. 3) If the parent process completes while any of its children are still running (not defunct): A) The PPID or parent of the child process changes to 1, the "init" process. B) The child process is now an orphan (not defunct) C) When the orphaned child process completes, it just gets removed from the process table, there is nobody left to notify. Summary: 1) A "defunct" process is the result of a negligent parent process which is still running. 2) A "defunct" process is just a placeholder in the process table (not using any resources). 3) The "defunct" process status is meant to reserve the child process ID so the process ID doesn't get reused while the parent is still alive. 4) If a parent has many "defunct" child processes this could mean the parent process is stuck or misbehaving (or just poorly designed).