DervishD wrote:
Hi Gene :)
* Gene Heskett <gene.heskett@xxxxxxxxxxx> dixit:
Then the children are reparented to 'init' and 'init' gets rid
of them. That's the way UNIX behaves.
Unforch, I've *never* had it work that way. Any dead process I've ever had while running linux has only been disposable by a reboot.
Well, you know, shit happens... Anyway, could you define 'dead'?
Because if you're talking about zombies whose parent dies, they're
killable easily: just wait until init reaps them (usually in less
than 5 minutes since they dead). If you are talking about zombies who
has their parent alive, then it's a bug in the application, not the
kernel. In fact I wouldn't like if the kernel reaps my children
before I do, just in case I want to do something.
If you're talking about unkillable processes (those stuck in
disk-sleep state), you're right: only rebooting can kill them
(although sometimes they go out of D state and die normally). Bad
luck for you if any dead process you've ever had while running linux
has been of this kind :(
I did this to myself a number of times when I was first learning Samba - even an ls would become unkillable. You couldn't rmmod smb, since it was in use, and you couldn't kill the process, since it was waiting on a syscall. Ergh.