On Fri, 24 Sep 2004 17:20:44 +0200, Jenda Krynicky <[EMAIL PROTECTED]> wrote: > From: Errin Larsen <[EMAIL PROTECTED]> > > See that "<defunct>"?! How did my process get a <defunct> status? Is > > that a Solaris-fancy way of saying "zombie-child"? > > I believe so. > > > The above explains > > why my (kill 0 => $pid) isn't working the way I expect, but How can I > > kill the kid. The <defunct> child process finally dies if I kill the > > parent (original dummy_monitor) script. Does this mean that my setsid > > line in my original script is not working correctly? I'm confused > > here. > > I believe you are supposed to wait()/waitpid() on your children. Or > install a $SIG{SIGCHLD} handler that reaps the children. > > I haven't used Perl under any Unix for years so I can't give you the > details. perldoc perlipc should help. > > > > Jenda
Yup. I tried putting: $SIG{CHLD}='IGNORE'; in my parent and that prevents the zombie child. So, next question! how do I wait() or waitpid() on more than one process? don't both of those make the wait()ing process sit still and do nothing else until it gets a return? I'll read perlipc again (man that's a hard one to grok) and see what it says. --Errin -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>