7

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?

2 Answers 2

9

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

$ ps auxwww
USER       PID %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
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

4
  • 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. May 19, 2010 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, 2010 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. Apr 20, 2011 at 16:20
  • 5
    Sometimes I can't tell if I'm reading a Minecraft stack exchange, or Superuser.
    – MikeMurko
    Mar 2, 2012 at 5:58
1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .