How do you identify a zombie process?

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?


Solution 1:

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

Solution 2:

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.