Greetings, I'm evaluating/experimenting on releng_9. The install, and now custom kernel have noting exotic, or anything out of the ordinary. top(1), and ps(1) indicate a (1) zombie, or <defunct> process. On my releng_8 systems, when I occasionally encounter one of these, they soon disappear (are reaped) from the process table. While I have not investigated this far enough on both versions to determine whether the parent process reaped the child on the releng_8 systems, and the parent on releng_9 is simply an irresponsible parent, eg; a different parent. Before I do, I was wondering if there was any specific difference between the 2 versions that might cause better handling of such situations. While I recognize that resource starvation is HIGHLY unlikely, except by perhaps a rouge parent spawning multitudes of zombies. I thought it might be useful for "housekeeping" to 1) provide a process table housekeeper (zombie reaper), or 2) create a system utility/command like SunOS/OpenSolaris has; preap(1). http://www.freebsd.org/cgi/man.cgi?query=preap&manpath=SunOS+5.10 Thank you for your time, and consideration. --Chris
Quoth "Chris H" <bsd-lists at bsdforge.com>:> I'm evaluating/experimenting on releng_9. The install, and now > custom kernel have noting exotic, or anything out of the ordinary. > top(1), and ps(1) indicate a (1) zombie, or <defunct> process. On > my releng_8 systems, when I occasionally encounter one of these, > they soon disappear (are reaped) from the process table. While I > have not investigated this far enough on both versions to determine > whether the parent process reaped the child on the releng_8 systems, > and the parent on releng_9 is simply an irresponsible parent, eg; > a different parent.What is the parent?> Before I do, I was wondering if there was any > specific difference between the 2 versions that might cause better > handling of such situations. While I recognize that resource > starvation is HIGHLY unlikely, except by perhaps a rouge parentA rouge parent? :)> spawning multitudes of zombies. I thought it might be useful for > "housekeeping" to 1) provide a process table housekeeper (zombie > reaper),That's called init(8). When the parent exits, init will wait for the zombie.> or 2) create a system utility/command like SunOS/OpenSolaris > has; preap(1).That seems like a bad idea, to me. Generally speaking I would expect it to be safer to kill and restart the parent, allowing init to do its job. Ben
On Monday, March 31, 2014 4:06:43 pm Chris H wrote:> Greetings, > I'm evaluating/experimenting on releng_9. The install, and now > custom kernel have noting exotic, or anything out of the ordinary. > top(1), and ps(1) indicate a (1) zombie, or <defunct> process. On > my releng_8 systems, when I occasionally encounter one of these, > they soon disappear (are reaped) from the process table. While I > have not investigated this far enough on both versions to determine > whether the parent process reaped the child on the releng_8 systems, > and the parent on releng_9 is simply an irresponsible parent, eg; > a different parent. Before I do, I was wondering if there was any > specific difference between the 2 versions that might cause better > handling of such situations. While I recognize that resource > starvation is HIGHLY unlikely, except by perhaps a rouge parent > spawning multitudes of zombies. I thought it might be useful for > "housekeeping" to 1) provide a process table housekeeper (zombie > reaper), or 2) create a system utility/command like SunOS/OpenSolaris > has; preap(1). > > http://www.freebsd.org/cgi/man.cgi?query=preap&manpath=SunOS+5.10 > > Thank you for your time, and consideration.Nothing is different with child processes in 9 vs 8. It is most likely a misbehaving parent (or the parent is stuck or hung). -- John Baldwin