Skip to content

Zombie process

A terminated Unix child process whose process-table record and exit status remain until its parent waits and the kernel reaps it.

Version
v1 · 2026-09-28 · History
Domain-specific #
12960
Domain group
Applied Sciences & Engineering
Origin domain
Computer Science & Software Engineering
Subdomains
Operating Systems, Unix Process Management → Computer Science & Software Engineering
Aliases
Defunct process

Core Idea

A Unix child does not disappear at the instant it exits. The kernel releases its execution resources but retains a minimal process-table entry containing identity and exit status so the parent can learn how it finished. During this interval the child is a zombie or defunct process.

When the parent calls wait, the status is delivered and the kernel reaps the entry, freeing the PID for reuse. A zombie cannot be killed because it is already dead; the repair belongs to the parent–reaper relationship. This differs from an orphan, which is still executing after its parent has died and can be adopted by a designated reaper.

Scope of Application

  • Unix process control. Parent–child exit status is transmitted through wait.
  • Server debugging. Persistent zombies reveal missing reaping logic.
  • Resource management. Accumulation consumes process-table and PID capacity.
  • Operating-system teaching. The state separates execution lifetime from accounting lifetime.

Clarity

Report process state, PID, parent PID, duration, count, and whether the parent is live and waiting. Distinguish transient normal zombies from persistent accumulation. File or buffer retention can involve related process or descriptor behavior and should not be attributed without verification. Inclusion test: A process is a zombie after termination but before its parent or designated reaper collects the exit status and the process-table entry is removed. Exclusion test: A live process that is hung, sleeping, or unresponsive is excluded. Nearest boundary: An orphan is alive after losing its parent; adoption by a reaper prevents its eventual exit status from remaining indefinitely. Exit condition: The identity exits when the record is reaped, even though logs or accounting data may persist elsewhere. Common misclassifications: It is not a running process that is merely hung. It is not an orphan process. It is not consuming its former full address space and CPU. It is not removable by sending a normal termination signal to the zombie itself. Nearest named distinctions: Orphan process: Remains alive after its parent terminates. Hung process: Still exists as executing or blocked code. Stopped process: Is suspended but can resume. Daemon: A long-lived background process, not a terminated child record.

Manages Complexity

The state is a deliberately tiny remnant that makes asynchronous child completion reliable. Its morbid metaphor obscures the protocol: the kernel preserves information rather than code. Problems arise from unbounded accumulation, not from a brief record.

Abstract Reasoning

  1. Confirm the process has terminated rather than merely stopped or slept.
  2. Inspect whether a defunct process-table entry remains.
  3. Identify the parent and the uncollected exit status relationship.
  4. Determine whether the state is transient or accumulating.
  5. Check parent handling of child-exit notification and wait calls.
  6. Allow the appropriate parent or reaper to collect status.
  7. Verify entry removal and prevent recurrence in process-control logic.

Knowledge Transfer

The general pattern—completed task retained until acknowledgment—transfers to queues and distributed systems. The Unix zombie identity stops at process-table semantics and parent wait protocol. A stale record elsewhere may be analogous but is not a zombie process.

Relationships to Other Abstractions

Local relationship map for Zombie processParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Zombie processDOMAINDomain-specific abstraction: Process state — is a kind ofProcess stateDOMAIN

Current abstraction Zombie process Domain-specific

Parents (1) — more general patterns this builds on

  • Zombie process is a kind of Process state Domain-specific

    Zombie process is a domain-specific instance of process state under its frozen identity. The complete catalog already supplies this broader identity.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Zombie process sits in a moderately populated region (53rd percentile for distinctiveness): it has near-neighbors but no dense thicket of look-alikes.

Family — Program Scope & Nesting Disciplines (10 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-08