criu

Zombie Processes

CRIU supports checkpointing and restoring zombie processes (tasks that have terminated but have not yet been reaped by their parent). These processes are a vital part of a process tree’s state, as they maintain exit codes that the parent may eventually need to read.

How CRIU Handles Zombies

Zombie processes are unique because they have no active memory, no file descriptors, and no CPU state. However, they still occupy an entry in the kernel’s process table and maintain an identity via their PID.

1. Checkpointing (Dumping)

During the dump phase, CRIU identifies zombie tasks by checking their state in /proc/$pid/stat.

2. Restoration

Restoring a zombie process involves recreating a task and immediately forcing it into a terminated state without allowing its parent to reap it.

See also