• A process becomes a Zombie when it has completed its task, but the parent process hasn’t collected its execution status
  • Zombies are already dead so they can’t and don’t have to be killed
  • The most important disadvantage, is that Zombies occupy a PID

How to find the zombie processes

ps aux | grep defunct

Get rid of zombie

  • To get rid of the Zombie, the parent process must collect the child execution status
    • Send SIGCHLD to the parent to ask the parent to reap the Zombie
    • Kill the parent process
    • When the parent is killed, the Zombie becomes an orphan and will be adopted by the init process

find the zombie

ps aux | grep defunct

find the parent of the zombie

ps fax | less

send the SIGCHILD command to parent of the zombie

kill -SIGCHILD <pid-of-parnt-of-zombie>

kill the parent

kill <pid-of-parent>