Date: Mon, 01 Sep 1997 19:49:17 -0700 From: David Greenman <dg@root.com> To: "Jamil J. Weatherbee" <jamil@counterintelligence.ml.org> Cc: Greg Lehey <grog@lemis.com>, freebsd-hackers@FreeBSD.ORG Subject: Re: SIGCLD Message-ID: <199709020249.TAA16490@implode.root.com> In-Reply-To: Your message of "Mon, 01 Sep 1997 18:45:36 PDT." <Pine.BSF.3.96.970901184254.3269A-100000@counterintelligence.ml.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>> 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. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709020249.TAA16490>