http://qs321.pair.com?node_id=959387


in reply to Re: Monitoring child processes
in thread Monitoring child processes

SIGCHLD is handled differently to other signals on most UNIX's, in that it does not by default kill the process it signals.
Correct, and at least on Linux (the Solaris docs are not precise about this), the default for SIGCHLD seems to be "ignore". That's why I was so puzzled, that in my Perl program I had to explicitly set it to IGNORE to get things working...

-- 
Ronald Fischer <ynnor@mm.st>

Replies are listed 'Best First'.
Re^3: Monitoring child processes
by Marshall (Canon) on Mar 13, 2012 at 23:37 UTC
    There is a low level data structure called sigaction. Without diving into the Perl guts, I really don't know what Perl does to this structure. But apparently it does something different than just not writing to it at all - I presume whatever Perl does is an attempt at multi-platform operation that on your particular platform does something that you didn't expect.