TIMEOUT(1) General Commands Manual TIMEOUT(1)

timeout
run a command with a time limit

timeout [--signal sig | -s sig] [--preserve-status] [--kill-after time | -k time] [--foreground] ⟨duration⟩ ⟨command⟩ ⟨args ...

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.
sig, --signal sig
Specify the signal to send on timeout. By default, SIGTERM is sent.
time, --kill-after time
Send a second kill signal if command is still running after time after the first signal was sent.

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

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.

kill(1), signal(3)

A timeout utility appeared in a development branch of FreeBSD 11 and was imported into NetBSD 7. The FreeBSD work is compatible with GNU timeout by Padraig Brady, from GNU Coreutils 8.21. The timeout utility first appeared in GNU Coreutils 7.0.
July 19, 2014 NetBSD 9.4