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 command is still running after duration, it is killed. By default, SIGTERM. is sent.

--preserve-status
    Always exits with the same status as command even if it times out.

--foreground
    Do not propagate timeout to the command children.

-s sig, --signal sig
    Specify the signal to send on timeout. By default, SIGTERM. is sent.

-k time, --kill-after time
    Send a second kill signal if command is still running after time after the first signal was sent.

DURATION FORMAT
duration and time can be integer or decimal numbers. Values without unit symbols 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 status 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 is an invalid command, the exit status returned is 126.

If command is a non existing command, the exit status returned is 127.

If an invalid parameter is passed to -s or -k, the exit status return is 125.

SEE ALSO
kill(1), signal(3)