Date: Tue, 2 Sep 1997 12:51:47 +0930 From: Greg Lehey <grog@lemis.com> To: dg@root.com Cc: "Jamil J. Weatherbee" <jamil@counterintelligence.ml.org>, freebsd-hackers@FreeBSD.ORG Subject: Re: SIGCLD Message-ID: <19970902125147.42934@lemis.com> In-Reply-To: <199709020249.TAA16490@implode.root.com>; from David Greenman on Mon, Sep 01, 1997 at 07:49:17PM -0700 References: <Pine.BSF.3.96.970901184254.3269A-100000@counterintelligence.ml.org> <199709020249.TAA16490@implode.root.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 01, 1997 at 07:49:17PM -0700, David Greenman wrote: >>> however, you change the default to explicitly ignore the signal, the >>> system ignores SIGCHLD and SIGCLD, but it also no longer creates >>> zombie processes. If you set the disposition of SIGCHLD and SIGCLD >>> to ignore, but you call wait anyway, it waits until all child >>> processes have terminated, and then returns -1 (error), with errno >>> set to ECHILD. You can achieve the same effect with sigaction by >> >> Ok, according to the man page the default is to ignore SIGCHLD, so in >> other words if I really don't care at all about the info in the data >> tables I don't need to install a handler that calls wait --- I just wanted >> to be sure that if I did not fool around with a SIGCHLD handler under >> freebsd that I wouldn't end up with hundreds on zombie processes waiting. > > Uh, I think you are misunderstanding this. Under FreeBSD, you *must* > call wait to reap child processes. Ignoring SIGCHLD doesn't let you off > the hook. The behavior is different under System V, but that isn't > relavent. Yes, looking back, I noticed that the text didn't say very much about the way BSD does it. Sorry about that. Greg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970902125147.42934>