[plug] defunct process won't die

Steve Grasso steveg at calm.wa.gov.au
Wed Aug 9 12:29:55 WST 2000


Dave,

> >Ummm....on reflection, my last post was probably a bit brief.
> >Your question really relates to a similar question "How do I kill a zombie
> >process"
> >
> >The short answer is find its parent (with ps -fauwx) and kill it. If it
> >appears to have no parent, that's because init has taken over from the
> >slovenly parent who is no longer talking to the child. Sending a hangup to
> >init (kill -s SIGHUP 1) should clean up the zombie.
> >
> >Steve
> >
> 
> Thanks for the help Steve.
> 
> >    21989 ?        DW     0:24 [netscape-commun]
> >    21999 ?        Z      0:00 [netscape-commun <defunct>]
> 
> the ppid for 21999 is 21989
> and ppid for 21989 is 1   as you suspected.
> 
> However a
>     kill -HUP 1
> does it's thing OK, but still leaves the two gremlin processess around.
> (kill -s SIGHUP 1 complains about "s" being an unknown signal).
> 
> Any further ideas very welcome!

A couple of thoughts:

pid 21989 is in a state of "uninterruptable sleep" with no pages in resident
memory (DW) - ie it's not a zombie, which explains why a HUP to init
didn't clean it up (pid 21999 *is* a zombie (Z) and killing 21989 should get
rid of it) BUT

Use top to tell you which process is in a runaway state (on my Mandrake
system, when Netscape spaks, it's glibc20 which runs away with itself, hence
my suggestion to grep the ps output for glibc20) and kill it. If that
didn't clear the sleeping and zombie processes, then kill -HUP 1 should at
this point. (kill -s is a BSD'ism, which is probably why it returned an error)

Steve



More information about the plug mailing list