Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Today in Terminals, TIMEOUT - run a command with a time limit. #24

Open
irthomasthomas opened this issue Sep 5, 2023 · 1 comment
Open
Labels
man-pages linux man pages shell-script shell scripting in Bash, ZSH, POSIX etc TIL Short notes or tips on coding, linux, llms, ml, etc

Comments

@irthomasthomas
Copy link
Owner

irthomasthomas commented Sep 5, 2023

NAME

timeout - run a command with a time limit

SYNOPSIS

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

DESCRIPTION

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

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

--preserve-status

  exit with the same status as COMMAND, even when the

  command times out

--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

-k, --kill-after=DURATION

  also send a KILL signal if COMMAND is still running

  this long after the initial signal was sent

-s, --signal=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

-v, --verbose

    diagnose to stderr any signal sent upon timeout

--help

    display this help and exit

--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:

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) signal (128+9)

-

    the exit status of COMMAND otherwise

BUGS

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

AUTHOR

Written by Padraig Brady.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 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

kill(1)

Full documentation <https://www.gnu.org/software/coreutils/timeout>
or available locally via: info '(coreutils) timeout invocation'
@irthomasthomas irthomasthomas added man-pages linux man pages shell-script shell scripting in Bash, ZSH, POSIX etc TIL Short notes or tips on coding, linux, llms, ml, etc labels Sep 5, 2023
@irthomasthomas
Copy link
Owner Author

irthomasthomas commented Sep 5, 2023

 --body "$(md "$(zcat $(man -w timeout) | pandoc -f man -t plain)" bash)"

#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
man-pages linux man pages shell-script shell scripting in Bash, ZSH, POSIX etc TIL Short notes or tips on coding, linux, llms, ml, etc
Projects
None yet
Development

No branches or pull requests

1 participant