|There's more than one way to do things|
Re^2: Signal to a sleeping Perl programby afoken (Canon)
|on Jan 17, 2020 at 15:29 UTC||Need Help??|
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:
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.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)