TIMEOUT(1)
โจ NAME โจ
timeout โ run a command with a time limit ๐
(yes bestie, this is the timeout page from the User Commands section of the manual, and we're about to make it make sense ๐ซถ)
๐ธ SYNOPSIS ๐ธ
timeout [OPTION]... DURATION COMMAND [ARG]...
๐ฆ DESCRIPTION ๐ฆ
Okay so here's the entire plot: you start COMMAND, and if it's still running after DURATION, it gets killed. That's it. That's the whole thing. It's giving "you have until the timer runs out, and then we're done here" ๐
Also, mandatory arguments to long options are mandatory for short options too โ so if the long version needs it, the short version needs it, no cap.
๐ the options, one by one ๐
-f,--foregroundโ for when you're not runningtimeoutdirectly from a shell prompt: this letsCOMMANDread from the TTY and get TTY signals. Heads up though โ in this mode, the children ofCOMMANDwill not be timed out ๐-k,--kill-after=DURATION โ sends aKILLsignal too, ifCOMMANDis still running this long after the initial signal was sent. Like, "okay we asked nicely, now we're not asking" ๐-p,--preserve-statusโ exit with the same status asCOMMAND, even when the command times out. You want the truth? Here's the truth.-s,--signal=SIGNAL โ pick which signal gets sent on timeout. SIGNAL can be a name like'HUP'or a number; runkill -lfor the full list of signals, iykyk โจ-v,--verboseโ diagnoses to standard error any signal sent upon timeout. So you actually see the drama happen.--helpโ display this help and exit. Classic.--versionโ output version information and exit. Also classic.
โณ about that DURATION, bestie โณ
DURATION is a floating point number with an optional suffix:
's'for seconds (the default)'m'for minutes'h'for hours'd'for days
And a duration of 0 disables the associated timeout. Zero means off. Iconic. ๐
๐ฅ the signal situation ๐ฅ
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 โ that one's the unstoppable force, fr fr.
๐ Exit status: ๐
124โ ifCOMMANDtimes out, and--preserve-statusis not specified125โ if thetimeoutcommand itself fails126โ ifCOMMANDis found but cannot be invoked127โ ifCOMMANDcannot be found137โ ifCOMMAND(ortimeoutitself) is sent theKILL(9) signal (128+9)-โ the exit status ofCOMMANDotherwise
๐ BUGS ๐
Some platforms don't currently support timeouts beyond the year 2038. Yeah. 2038. We don't talk about it. ๐ญ
โ๏ธ AUTHOR โ๏ธ
Written by Padraig Brady.
๐ข REPORTING BUGS ๐ข
- Report bugs to: <bug-coreutils@gnu.org>.
- Report any translation bugs to: <https://translationproject.org/team/>.
- GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
- General help using GNU software: <https://www.gnu.org/gethelp/>
ยฉ๏ธ COPYRIGHT ยฉ๏ธ
Copyright ยฉ 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
๐ SEE ALSO ๐
Full documentation <https://www.gnu.org/software/coreutils/timeout> or available locally via: info '(coreutils) timeout invocation'
And that's the whole page, bestie โ this was GNU coreutils 9.12, dated September 2026. Go forth and time things out responsibly ๐ฆ๐๐
๐ฆ where this page comes from
- arch rolling: coreutils 9.12-2 ยท GPL-3.0-or-later AND GFDL-1.3-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms