Date: Tue, 1 Apr 2014 11:10:31 -0400 From: John Baldwin <jhb@freebsd.org> To: "Chris H" <bsd-lists@bsdforge.com> Cc: freebsd-hackers@freebsd.org, freebsd-hackers <hackers@freebsd.org>, freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: Process handlers, and zombies, or preap(1) Message-ID: <201404011110.31723.jhb@freebsd.org> In-Reply-To: <c28e389b7ebf9a778367e7f59d018222.authenticated@ultimatedns.net> References: <26dbb84bafaf0114cb75c3fbe060d412.authenticated@ultimatedns.net> <201404010941.33741.jhb@freebsd.org> <c28e389b7ebf9a778367e7f59d018222.authenticated@ultimatedns.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, April 01, 2014 10:28:02 am Chris H wrote: > > 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). > > Hello, John, and thank you for the reply. > Right you are. Julian Elischer was kind enough to remind me that > ps -alx > would give me the information I needed to find the seemingly > "lazy" parent process. But not before I had already (re)created > a (Free)BSD version of preap(1), and cleared the entry from the > proc table. > However, it re-appeared again. So this time I traced it to it's > parent, and now I can deal with it /properly/. It's an old port > who's development was taken over by a Windows developer. So he > doesn't have access to the *NIX-isms. I'll see if I can find > the time to coordinate some effort(s) to clean it up, or branch > a NIX version. > > Thank you /very/ much for addressing my original question. sysutils/pstree from ports can also be useful for figuring this sort of thing out btw. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404011110.31723.jhb>