Main Page | See live article | Alphabetical index

Zombie process

A zombie process is a term in computing for a process that exists but which has completed execution. When a zombie process cannot be destroyed it is usually because it is the parent of one or more child processes. Conversely, a child process might be a zombie because the parent has already died, but has not cleaned up after itself.

The term zombie process comes from the Unix operating system. It takes its meaning from the common definition of zombie--an undead person. In Unix, the most common cause of a zombie is where the process has exited, but its parent process has not yet done a "wait" system call for it. The book-keeping information for the zombie has to be retained so it can eventually be supplied to the parent when it does "wait". Typically, zombies that exist for more than a short period of time indicate a bug somewhere. The kind of zombie mentioned in the first paragraph does not occur in Unix and similar systems.