When login through a terminal into my Ubuntu 9.10 Server, I see the following message:

=> There is 1 zombie process.

How can I identify this zombie process?


Use the ps command. I almost always use ps auxwww.

$ ps auxwww
exegete  22199   0.0  0.2    79204   3280 s000  Z     9:16AM   0:00.78 vi
exegete  22185   0.0  0.0    75968    968 s000  S     9:16AM   0:00.01 -bash

According to the docs, a "Z" in the STAT column indicates a zombie process. Check the man pages: man ps

  • I used "ps l | grep Z" and killed the PPID. Killing the PID doesn't do the job, going after the parent does the trick. – Thierry Lam May 19 '10 at 21:11
  • You would likely have to use a kill -9, but even then zombies don't always respond. Sometimes you are forced to reboot. – Jack M. May 19 '10 at 21:12
  • 1
    Zombies are already dead, waiting for parent to read their status. Killing them, with any signal, doesn't do anything. It's not a process, just a process slot. Killing the parent (PPID) makes init (PID 1) the zombie's parent, which then reaps it (reads status) - zombie gone. – Rich Homolka Apr 20 '11 at 16:20
  • 5
    Sometimes I can't tell if I'm reading a Minecraft stack exchange, or Superuser. – MikeMurko Mar 2 '12 at 5:58

I often get that if I closed my SSH session without logging out, then logged back in before another process (init) adopted the processes that were running in the previous session.

However after a few minutes if you go back and do a top there will be no zombie processes.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.