in reply to Re: Signal to a sleeping Perl program
in thread Signal to a sleeping Perl program
One way would be to break up the 15 minute sleep into smaller mini-sleeps. Presumably, waking up would allow your script to respond to the request to terminate.
Any signal, or at least any non-ignored signal interrupts sleep. No need for polling. See also sleep:
Causes the script to sleep for (integer) EXPR seconds, or forever if no argument is given. Returns the integer number of seconds actually slept.
May be interrupted if the process receives a signal [...]
Note: sleep() returns how long it actually slept, so your program can continue sleeping for the remaining time if some signal happened in between.
The C API sleep() behaves similar, see sleep(3), but it returns the remaining sleep time, not the time actually slept.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Signal to a sleeping Perl program
by QM (Parson) on Jan 20, 2020 at 10:59 UTC |
In Section
Seekers of Perl Wisdom