Zombie processes are spawned by a parent process that terminates before receiving the childs signal that they have completed. The Zombie is waiting on acknowledgement from the parent process, thus they run forever, or until the next reboot or someone kills them. They WILL NOT go away after the parent process dies. This was incorrectly stated in a previous email. If you are programming this, you can turn off the signaling of the parent/child process to make the child not wait until the parent responds and the child will do it's thing, then cleanly exit. This also frees up the parent to go about something else, rather than waiting on the child, which may not complete.