in reply to Signal to a sleeping Perl program
What OS is it running in? I gladly forgot most about Autosys after quitting $job - 1.
The following runs in Linux and reacts to signals as expected:
#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; local $SIG{USR1} = sub { say STDERR "Signal 1 caught."; alarm 0; }; local $SIG{USR2} = sub { say STDERR "Bye!"; exit }; my $sum = 0; while (1) { $sum += $_ for 1 .. 100; say $sum; say STDERR scalar localtime, " Sleeping..."; sleep 10; say STDERR scalar localtime, " Ready!"; }
A sample session:
▏~ $ 11111522.pl & [1] 28265 5050 Fri Jan 17 15:28:04 2020 Sleeping... Fri Jan 17 15:28:14 2020 Ready! 10100 Fri Jan 17 15:28:14 2020 Sleeping... ▏~ $ kill -USR1 28265 Signal 1 caught. Fri Jan 17 15:28:17 2020 Ready! 15150 Fri Jan 17 15:28:17 2020 Sleeping... ▏~ $ kill -USR2 28265 Bye! [1]+ Done 11111522.pl ▏~ $
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Signal to a sleeping Perl program
by LanX (Saint) on Jan 17, 2020 at 14:49 UTC |
In Section
Seekers of Perl Wisdom