run a command with a time
timeout utility executes
command, with any args, and
kills it if it is still running after the specified
duration. If duration is 0, the
timeout is disabled.
The options are as follows:
- Send a second signal,
SIGKILL, if the command is still running time after the first signal was sent.
- Specify the signal to send on timeout, instead of the default
- Do not propagate the timeout signal to children processes.
- Always exit with the same status as command, even if the timeout was reached.
duration and time may contain a decimal fraction. The value defaults to seconds unless a unit suffix is given.
The supported unit suffixes are:
If the timeout was not reached or
--preserve-status was set, the exit status of
command is returned.
If the timeout was reached and
--preserve-status was not set, an exit status of 124
If command exited after receiving a signal, the exit status returned is the signal number plus 128.
timeout utility first appeared in GNU
Coreutils 7.0 and has been available since OpenBSD