On Monday 05 August 2002 09:24, Derek Fountain wrote:
A process which doesn't respond to a SIGKILL isn't a zombie. A zombie is a process which has had its parent die before it has, which means it hangs around waiting to be reaped.
That's not completely true. A zombie process is a process that has exited but its parent hasn't called wait() to get the exit status and clean up after it (the things a parent must do, eh :). Since the process has exited it won't respond to SIGKILL, it's already dead.
A process which doesn't respond to SIGKILL is one which has got stuck in the kernel - normally in a driver somewhere. If it ever returns the signal will be delivered and it will die immediately. If it's stuck because the hardware has failed, or there's a bug in the driver or something, it'll probably never come back. Rebooting is the only way out in this case.
Usually right, except in some cases I've run across you can get out of it by performing some action that causes the hardware to reset itself. For example, I once had a process that hung hard while doing a scan. It was hanging inside a scsi call and wouldn't respond to any signals. Physically resetting the scanner cleaned things up though. You're not usually this lucky, though, and as you say a reboot is usually necessary. regards Anders -- `When I use a word,' Humpty Dumpty said in rather a scornful tone, `it means just what I choose it to mean -- neither more nor less.'