Everything about Zombie process
Process that is not running, but is in the process table
On Unix and Unix-like computer operating systems, a zombie process or defunct process is a process that has completed execution but still has an entry in the process table: it is a process in the "terminated state". This occurs for the child processes, 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 wait system call, the defunct process' entry is removed from the process table and it is said to be "reaped". A child process initially becomes defunct, only then being removed from the resource table. Under normal system operation, defunct processes are immediately waited on by their parent and then reaped by the system. Processes that stay defunct 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, defuncts can also hold buffers open, consuming memory. Defunct processes 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 du and df. While du may show a large amount of free disk space, df will show a full partition. If the defuncts are not cleaned, this can fill the root partition and crash the system. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Zombie processA 5-minute orientation
- Pick up a classic book: Contemporary MusiciansThe most-reprinted book on the subject
- Go sideways: Child processA closely related topic
- Go sideways: Fork–execA closely related topic
📖 Definitions
Noun A child process that has terminated but is still listed in the process table, having not yet been reaped by its parent process.
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Contemporary MusiciansAngela M. Pilchak · 2004
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Child process A child process (CP) in computing is a process created by another process (the parent process). This technique pertains to multitasking operating systems…
- Fork–exec Fork–exec is a commonly used technique in Unix whereby an executing process spawns a new program. fork() is the name of the system call that the parent…
- Wait (system call) In computer operating systems, a process (or task) may wait for another process to complete its execution. In most systems, a parent process can create…
- Parent process In computing, a parent process is a process that has created one or more child processes. In Unix-like operating systems, every process except process…
- Fork (system call) In computing, fork is an operation whereby a process creates a copy of itself. It is usually implemented as a C standard library wrapper to the fork, clone…
- Exit (system call) On many computer operating systems, a computer process terminates its execution by making an exit system call. More generally, an exit in a multithreading…
- Signal (IPC) Signals are standardized messages sent to a running computer program to trigger specific behavior, such as quitting or error handling. They are a limited…
- Daemon (computing) In computing, a daemon (/ˈdiːmən/ DEE-mən or /ˈdeɪmən/ DAY-mən) is a program that runs as a background process, rather than being under the direct control…