Handling and propagating signals
David Cantrell
david at cantrell.org.uk
Thu Feb 1 16:40:54 GMT 2007
Someone just reported what I'm inclined to treat as a bug in rsnapshot.
Boiled down to a minimal example, it's this:
perl -e '$SIG{TERM} = sub { exit() }; system("sleep 60")'
Now send that process a SIGTERM. The perl process promptly exits. The
command I ran using system(), however, does not. I want my signal
handler to propagate the signal to children as well.
Because the signal is received while perl is waiting for system() to
return, I can't see any way in which I can possibly know the child's
PID without having to grovel through the process table.
--
David Cantrell | Cake Smuggler Extraordinaire
"The whole aim of practical politics is to keep the populace alarmed
(and hence clamorous to be led to safety) by menacing it with an
endless series of hobgoblins, all of them imaginary" -- H. L. Mencken
More information about the london.pm
mailing list