Infrequently but repeatedly I've wanted a shell script to be able to
start a background command, wait up to a certain duration for the
command to finish, and then if it hasn't finished, the script continues,
leaving the background command to continue executing. Other people
desire this, too, e.g.
https://unix.stackexchange.com/questions/84973/timeout-without-killing-process-in-bash
You can get this effect (without a wait loop) using "sleep NNN & wait -n
...", but you get extraneous job control output and it's awkward to
code.
Gnu "timeout" is the utility I would expect to implement this
functionality, but it does not -- timeout won't exit until the
sub-command exits no matter how you invoke it.
So I am proposing adding an option to "timeout" viz. "-n/--no-wait"
whose effect is "after the timeout is triggered and timeout sends the
specified signal(s), timeout continues without waiting for the command
to exit". When this combined with "--signal=0", "timeout" will behave
as I desire.
Opinions?
Dale