TIMEOUT(1) User Commands TIMEOUT(1)

# [NAME](#NAME)

timeout - run a command with a time limit

# [SYNOPSIS](#SYNOPSIS)

**timeout** \[*OPTION*]... *DURATION COMMAND* \[*ARG*]...

# [DESCRIPTION](#DESCRIPTION)

Start COMMAND, and kill it if still running after DURATION.

Mandatory arguments to long options are mandatory for short options too.

[**-f, --foreground**](#f,)

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

[**-k, --kill-after=DURATION**](#k,)

also send a KILL signal if COMMAND is still running this long after the initial signal was sent

[**-p, --preserve-status**](#p,)

exit with the same status as COMMAND, even when the command times out

[**-s, --signal=SIGNAL**](#s,)

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

[**-v, --verbose**](#v,)

diagnose to standard error any signal sent upon timeout

[**--help**](#help)

display this help and exit

[**--version**](#version)

output version information and exit

DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. A duration of 0 disables the associated timeout.

Upon timeout, send the TERM signal to COMMAND, if no other SIGNAL specified. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL signal, since this signal can't be caught.

## [Exit status:](#Exit_status:)

124

if COMMAND times out, and **--preserve-status** is not specified

125

if the timeout command itself fails

126

if COMMAND is found but cannot be invoked

127

if COMMAND cannot be found

137

if COMMAND (or timeout itself) is sent the [KILL (9)](/man/os/coreutils/KILL.9) signal (128+9)

\-

the exit status of COMMAND otherwise

# [BUGS](#BUGS)

Some platforms don't currently support timeouts beyond the year 2038.

# [AUTHOR](#AUTHOR)

Written by Padraig Brady.

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to: &lt;bug-coreutils@gnu.org&gt;.  
Report any translation bugs to: &lt;https://translationproject.org/team/&gt;.  
GNU coreutils home page: &lt;https://www.gnu.org/software/coreutils/&gt;  
General help using GNU software: &lt;https://www.gnu.org/gethelp/&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

[**kill**(1)](/man/os/coreutils/kill.1)

Full documentation &lt;https://www.gnu.org/software/coreutils/timeout&gt;  
or available locally via: info '(coreutils) timeout invocation'

September 2026 GNU coreutils 9.12

---

Document: timeout(1) from coreutils 9.12-r3 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/coreutils.git
