Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!nntp.coast.net!www.nntp.primenet.com!nntp.primenet.com!howland.erols.net!EU.net!uunet!in1.uu.net!fu-berlin.de!irz401!orion.sax.de!uriah.heep!news From: j@uriah.heep.sax.de (J Wunsch) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: What is a zombie? Date: 28 Sep 1996 19:17:21 GMT Organization: Private BSD site, Dresden Lines: 33 Message-ID: <52jtk1$8s@uriah.heep.sax.de> References: <52a5dt$qef@vixen.cso.uiuc.edu> <3249D8F7.2EA39DDA@lambert.org> Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) NNTP-Posting-Host: localhost.heep.sax.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Newsreader: knews 0.9.6 X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E Terry Lambert <terry@lambert.org> wrote: > Actually, it means the process has exited, but that its status > has not been reaped by its parent process. Typically, this > happens when inexperienced programmers write code that calls > fork, but doesn't call wait(2) or ignore SIGCHLD -- either of > which will cause the zombie to exit. Ignoring SIGCHLD won't help -- it is already ignored by default: SIGNAL(3) FreeBSD Programmer's Manual SIGNAL(3) NAME signal - simplified software signal facilities ... Name Default Action Description ... SIGCHLD discard signal child status has changed Implementing SA_NOCLDWAIT for sa_flags in sigaction(2) would be the way to go, but nobody has done this so far in FreeBSD. So your only chance is to actually install the d*mn signal handler, and have it fetch the exit status of the child. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)