in reply to Signal to a sleeping Perl program
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 ▏~ $
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Signal to a sleeping Perl program
by LanX (Saint) on Jan 17, 2020 at 14:49 UTC |