rw-sleep
programrw-sleep stamp [program arg ...]
rw-sleep
sleeps until the given timestamp, or until it receives
SIGALRM
. (If the given timestamp is in the past, it does not
sleep at all.) You can also specify "-
" instead of a
timstamp; this will make rw-sleep
sleep indefinitely until it
receives SIGALRM
. After sleeping, if no command is given, it
exits zero; otherwise, it executes the command with SIGALRM
ignored. Ignoring SIGALRM
ensures that a late-delivered signal,
intended for rw-sleep
, will not kill the command. However, a
late signal may still cause trouble if the command sets up its own signal
handler for SIGALRM
.
Some kernels, in violation of SUSv3, may have an upper bound on how long they
will let rw-sleep sleep using setitimer()
- in particular, Linux
2.6 limits it to about 25 days on 32-bit platforms. You can set up your
runwhen invocation to work around this by going back to sleep if rw-sleep
wakes up too soon. (Of course, this will also disable intentional early
wakeups from SIGALRM.)