Welcome to WebmasterWorld Guest from 188.8.131.52
Forum Moderators: bakedjake
The only way to kill a zombie is with a gun shot to the brain^W^W^W^W^W^W^W^W finding the parent process and terminating it.
As nasty as they are on the process table they are not harmful and don't consume resources.
As long as the parent hasn't called wait(), the system needs to keep the dead child in the global process list, because that's the only place where the process ID is stored. The purpose of the "zombies" is really just for the system to remember the process ID, so that it can inform the parent process about it on request. If the parent "forgets" to collect on its children, then the zombie will stay undead forever. Well, almost forever. If the parent itself dies, then "init" (the system process with the ID 0) will take over fostership over its children and catch up on the neglected parental duties.