home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!darwin.sura.net!spool.mu.edu!agate!boulder!ophelia!drew
- From: drew@ophelia.cs.colorado.edu (Drew Eckhardt)
- Subject: Re: What causes these Zombie processes?
- Message-ID: <1993Jan6.221108.15082@colorado.edu>
- Sender: news@colorado.edu (The Daily Planet)
- Nntp-Posting-Host: ophelia.cs.colorado.edu
- Organization: University of Colorado at Boulder
- References: <1798@emoryu1.cc.emory.edu>
- Date: Wed, 6 Jan 1993 22:11:08 GMT
- Lines: 40
-
- In article <1798@emoryu1.cc.emory.edu> splee@pd.org (Seng-Poh Lee, Speedy) writes:
- >After running for a few days, my Linux system ends up with quite a
- >few 'Zombie' processes. I can't kill them off, even with kill -9 and
-
- Of course not. They're already dead.
-
- >the only way to get rid of them is with a reboot. This is a typical
- >'ps -aux' screen after a few days.
- >
- >USER PID %CPU %MEM SIZE RSS TT STAT START TIME COMMAND
- >root 318 0.0 0.0 96 0 ? Z 08:21 0:00 <defunct>
- >root 319 0.0 0.0 96 0 ? Z 08:44 0:00 <defunct>
- >root 341 0.0 0.0 96 0 ? Z 08:58 0:00 <defunct>
- >
- >Notice that the processes are all 96k in size. The process number still
- >shows up in the /proc partition, but I don't know how to get any info
- >from that. I'm open to suggestions and advice.
-
- When a process terminates, its process table entry lingers around so
- that its parent can find the exit code or signal that terminated
- the process, and weather or not a core-dump was generated. To find
- out the exit status, the parent process must do some sort of wait()
- system call, after which that process table entry is deallocated.
- If the parent fails to do this, you have zombie processes.
-
- Note that the process's memory is deallocted (ie, RSS (resident set size)
- is zero), although you may still crash things when you run out of process
- table entries.
-
- Like I said, you can't kill these processes since they are already
- dead. However, if you kill the parent (do a ps -l and look at the
- PPID (parent process id) field), they will be inherited by init (process
- 1), which will wait for them, and they will disappear.
-
- After killing their parent, you can restart it.
-
- --
- Boycott AT&T for their absurd anti-BSDI lawsuit. | Drew Eckhardt
- Condemn Colorado for Amendment Two. | drew@cs.colorado.edu
- Use Linux, the fast, flexible, and free 386 unix |
-