FreeBSD Manual Pages
TIMEOUT(1) General Commands Manual TIMEOUT(1) NAME timeout -- run a command with a time limit SYNOPSIS timeout [--signal sig | -s sig] [--preserve-status] [--kill-after time | -k time] [--foreground] duration command [args ...] DESCRIPTION timeout starts the command with its args. If the command is still run- ning after duration, it is killed. By default, SIGTERM is sent. The special duration, zero, signifies no limit. Therefore a signal is never sent if duration is 0. The options are as follows: --preserve-status Exit with the same status as command, even if it times out and is killed. --foreground Do not propagate timeout to the children of command. -s sig, --signal sig Specify the signal to send on timeout. By default, SIGTERM is sent. -k time, --kill-after time Send a SIGKILL signal if command is still running after time after the first signal was sent. DURATION FORMAT duration and time are non-negative integer or real (decimal) numbers, with an optional unit-specifying suffix. Values without an explicit unit are interpreted as seconds. Supported unit symbols are: s seconds m minutes h hours d days EXIT STATUS If the timeout was not reached, the exit status of command is returned. If the timeout was reached and --preserve-status is set, the exit sta- tus of command is returned. If --preserve-status is not set, an exit status of 124 is returned. If command exits after receiving a signal, the exit status returned is the signal number plus 128. If command refers to a non-existing program, the exit status returned is 127. If command is an otherwise invalid program, the exit status returned is 126. If an invalid parameter is passed to -s or -k, the exit status returned is 125. EXAMPLES Run sleep(1) with a time limit of 4 seconds. Since the command com- pletes in 2 seconds, the exit status is 0: $ timeout 4 sleep 2 $ echo $? 0 Run sleep(1) for 4 seconds and terminate process after 2 seconds. 124 is returned since no --preserve-status is used: $ timeout 2 sleep 4 $ echo $? 124 Same as above but preserving status. Exit status is 128 + signal num- ber (15 for SIGTERM): $ timeout --preserve-status 2 sleep 4 $ echo $? 143 Same as above but sending SIGALRM (signal number 14) instead of SIGTERM: $ timeout --preserve-status -s SIGALRM 2 sleep 4 $ echo $? 142 Try to fetch(1) the PDF version of the FreeBSD Handbook. Send a SIGTERM signal after 1 minute and send a SIGKILL signal 5 seconds later if the process refuses to stop: $ timeout -k 5s 1m fetch \ > https://download.freebsd.org/ftp/doc/en/books/handbook/book.pdf SEE ALSO kill(1), nohup(1), signal(3), daemon(8) STANDARDS The timeout utility is compliant with the specification. HISTORY The timeout command first appeared in FreeBSD 10.3. AUTHORS Baptiste Daroussin <bapt@FreeBSD.org> and Vsevolod Stakhov <vsevolod@FreeBSD.org> FreeBSD 13.2 June 17, 2024 TIMEOUT(1)
NAME | SYNOPSIS | DESCRIPTION | DURATION FORMAT | EXIT STATUS | EXAMPLES | SEE ALSO | STANDARDS | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=timeout&sektion=1&manpath=FreeBSD+14.2-RELEASE+and+Ports>