timeout
timeout [OPTION] DURÉE COMMANDE...
Démarrer COMMANDE, et la tuer si elle fonctionne encore après DURÉE.
Options
--foreground,-f-
quand on n’exécute pas timeout directement depuis une invite de shell, permettre à COMMANDE de lire depuis le TTY et d’obtenir les signaux TTY ; dans ce mode, les enfants de COMMANDE ne seront pas limités dans le temps
--kill-after,-k-
envoyer aussi un signal KILL si COMMANDE fonctionne encore si longtemps après que le signal initial ait été envoyé
--preserve-status,-p-
sortir avec le même statut que COMMANDE, même quand la commande dépasse le délai
--signal=<SIGNAL>,-s <SIGNAL>-
spécifier le signal à envoyer en cas de délai dépassé ; SIGNAL peut être un nom comme ‘HUP’ ou un nombre ; voir ‘kill -l’ pour une liste des signaux
--verbose,-v-
diagnostiquer vers stderr tout signal envoyé lors d’un dépassement de délai
-
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
-
a command to execute with optional arguments
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.
Examples
Run sleep 10 and terminate it after 3 seconds:
timeout 3s sleep 10
Send a signal to the command after the time limit expires (TERM by default, kill -l to list all signals):
timeout {{[-s|--signal]}} {{INT|HUP|KILL|...}} {{5s}} {{sleep 10}}
Send verbose output to stderr showing signal sent upon timeout:
timeout {{[-v|--verbose]}} {{0.5s|1m|1h|1d|...}} {{command}}
Preserve the exit status of the command regardless of timing out:
timeout {{[-p|--preserve-status]}} {{1s|1m|1h|1d|...}} {{command}}
Send a forceful KILL signal after certain duration if the command ignores initial signal upon timeout:
timeout {{[-k|--kill-after]}} {{5m}} {{30s}} {{command}}
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.