epidem@fennel.cc.uwa.oz.au (06/19/91)
Can anyone tell us how to kill a ZOMBIE <EXITING> process under SunOS 4.0.3. Charley Chow Public Health UDM University of Western Australia NEDLANDS WA 6009
jmason2@gpu.utcs.utoronto.ca (Jamie Mason) (06/19/91)
In article <1991Jun19.103710.3404@fennel.cc.uwa.oz.au> epidem@fennel.cc.uwa.oz.au writes: >Can anyone tell us how to kill a ZOMBIE <EXITING> process under >SunOS 4.0.3. Can anyone tell us how to kill a VAMPIRE <UNDEAD> creature under Transylvania 4.0.3? :-) You *can't* kill a zombie process -- it's already dead. When a process dies, (either by normally or abonormally), it is not removed from the process table until its parent has done a wait() for it. So your zombie <exiting> (You use TOP, I see) process *is* dead, but it's parent has not done a wait() for it. This *may* indicate a bug in the parent, or perhaps the parent is just stopped. So how do you "kill" the zombie (i.e. remove it from the process table)? Afterall, this is what you need to do if the parent is off in never-never land... You kill the parent. Send the parent a TERM or a KILL, whatever it takes to kill it (gracefully if possible). When the parent dies, *it's* parent will wait for it. Furthermore, any children it had when it died (orphans) are inherited by the INIT process (pid 1). INIT will promptly do a wait() for the zombie process, thus laying it to a peaceful rest. Of course, if INIT has died, then there is not much you can do about the zombie. But if INIT has died, the zombie is the *least* of your problems. (un)Fortunately, the demise of INIT under SunOS causes a Kernel panic, rebooting the system. Jamie ... Lurker in the Process Table Written On Tuesday, June 18, 1991 at 11:55:31pm EDT
pickles@ottsun1.uucp (Clive Pickles) (06/19/91)
In article <1991Jun19.103710.3404@fennel.cc.uwa.oz.au> epidem@fennel.cc.uwa.oz.au writes: >Can anyone tell us how to kill a ZOMBIE <EXITING> process under >SunOS 4.0.3. > >Charley Chow Whenever we get an <EXITING> process (usually involving hung modem lines), I just put a trace on that process' pid. The trace connects to the process, and then the process instantly finishes exiting. The process is now gone. This has always worked for me, but other people have told me that it often doesn't work for them. All you can do is try. I am running under SunOS 4.0.3 also. Hope this helps. -- =================================================================== = Clive Pickles - Systems Administrator MPR Teltech Ltd. (Ottawa) = = Phone: (613) 787-4159 ------------------ E-mail: pickles@mpr.ca = ===================================================================
gwyn@smoke.brl.mil (Doug Gwyn) (06/19/91)
In article <1991Jun19.103710.3404@fennel.cc.uwa.oz.au> epidem@fennel.cc.uwa.oz.au writes: >Can anyone tell us how to kill a ZOMBIE <EXITING> process under >SunOS 4.0.3. You can't kill a zombie; it's already dead. Its parent should wait() for it; that will lay it to rest. If its parent dies, then the "init" process will adopt the zombie and immediately bury it.