Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Zombie process
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Process that is not running, but is in the process table}} {{refimprove|date=September 2014}} On [[Unix]] and [[Unix-like]] computer [[operating system]]s, a '''zombie process''' or '''defunct process''' is a [[process (computing)|process]] that has completed execution (via the <code>[[exit (system call)|exit]]</code> [[system call]]) but still has an entry in the [[process table]]: it is a process in the "[[Process state#Terminated|terminated state]]". This occurs for the [[child process]]es, where the entry is still needed to allow the [[parent process]] to read its child's [[exit status]]: once the exit status is read via the <code>[[wait (system call)|wait]]</code> [[system call]], the zombie's entry is removed from the process table and it is said to be "reaped". A child process initially becomes a zombie, only then being removed from the resource table. Under normal system operation, zombies are immediately waited on by their parent and then reaped by the system. Processes that stay zombies for a long time are usually an error and can cause a [[resource leak]]. Generally, the only kernel resource they occupy is the process table entry, their process ID. However, zombies can also hold buffers open, consuming memory. Zombies can hold handles to file descriptors, which prevents the space for those files from being available to the filesystem. This effect can be seen by a difference between <code>[[Du (Unix)|du]]</code> and <code>[[Df (Unix)|df]]</code>. While <code>du</code> may show a large amount of free disk space, <code>df</code> will show a full partition. If the zombies are not cleaned, this can fill the root partition and crash the system. The term ''zombie process'' derives from the common definition of [[zombie]] β an [[undead]] person. In the term's metaphor, the child process has "died" but has not yet been "[[Personifications of death|reaped]]". Unlike normal processes, the <code>[[kill (command)|kill]]</code> command has no effect on a zombie process. Zombie processes should not be confused with [[orphan process]]es, a process that is still executing, but whose parent has died. When the parent dies, the orphaned child process is adopted by <code>[[init]]</code>. When orphan processes die, they do not remain as zombie processes; instead, they are <code>wait</code>ed on by <code>init</code>.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)