timeout
timeout [OPTION] DURATION COMMAND...
Start COMMAND
, and kill it if still running after DURATION
.
Options
--foreground
-
when not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and get TTY signals; in this mode, children of COMMAND will not be timed out
--kill-after
,-k
-
also send a KILL signal if COMMAND is still running this long after the initial signal was sent
--preserve-status
-
exit with the same status as COMMAND, even when the command times out
--signal=<SIGNAL>
,-s <SIGNAL>
-
specify the signal to be sent on timeout; SIGNAL may be a name like 'HUP' or a number; see 'kill -l' for a list of signals
--verbose
,-v
-
diagnose to stderr any signal sent upon timeout
Examples
Run sleep 10
and terminate it after 3 seconds:
timeout 3s sleep 10
Send a [s]ignal to the command after the time limit expires (TERM
by default, kill -l
to list all signals):
timeout --signal {{INT|HUP|KILL|...}} {{5s}} {{sleep 10}}
Send [v]erbose output to stderr
showing signal sent upon timeout:
timeout --verbose {{0.5s|1m|1h|1d|...}} {{command}}
Preserve the exit status of the command regardless of timing out:
timeout --preserve-status {{1s|1m|1h|1d|...}} {{command}}
Send a forceful KILL
signal after certain duration if the command ignores initial signal upon timeout:
timeout --kill-after={{5m}} {{30s}} {{command}}
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.