The rule is pretty simple:  If you die, and your parent is still in the process 
list (regardless of its state), then you're a zombie until your parent reaps 
you.  If you die and your parent is not in the process list, then init(8) reaps 
you at its earliest convenience.  If you're a zombie and then your parent dies 
without reaping you, the kernel adopts you to init(8), who then reaps you at 
its earliest convenience.  A process ALWAYS has a parent, either its original 
parent or init(8), and that parent is always responsible for reaping you upon 
your death.  This is part of the very definition of Unix, and all its 
descendants.  If this isn't happening, there is a bug in init(8), and/or the 
kernel.

In no way are you required to reap your own children before death, whether 
deliberate or accidental, and you never have been.

However, there are no particular time constraints upon this reaping by init(8). 
 It could be busy doing something, even something as innocuous as logging to a 
file, that causes a delay.  If your system is designed to require a fast reap 
somehow, then you must reap your own children.  But that's a particular system 
issue, not a generic problem.  I could argue that perhaps this is an 
ill-designed system, if it's relying upon unspecified behavior.

-- Jim

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to