You can of course catch the signal and do nothing, or (as here)
just set a variable for you to look at later.
$SIG{HUP} = \&catch;
my $caught = 0;
my $count = 0;
print "I am $$, HUP me\n";
for (0..10)
{
sleep (5); # pretending to do stuff
print "$_\n";
}
die "I was HUPed $caught times" if $caught;
### Subroutines below
sub catch
{
$caught++;
}
You should of course think carefully about ignoring signals,
expecially INT and TERM, since if you get these, someone/something
is trying to tell you something.
But, delaying handling e.g. HUP or USR1 until it is a better
time to handle is OK.
Make sure you document the signal handling well, specially
if it is not expected behaviour. E.g. HUP is often used to mean
"Please reread your config file".
-- Brovnik |