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
-
un nombre à virgule flottante avec un suffixe facultatif : ‘s’ pour les secondes (par défaut), ‘m’ pour les minutes, ‘h’ pour les heures ou ‘d’ pour les jours ; une durée de 0 désactive le délai d’expiration associé
-
une commande à exécuter avec des arguments optionels
À l’expiration du délai, le signal TERM est envoyé à COMMANDE, si aucun autre SIGNAL n’est spécifié. Le signal TERM tue tout processus qui ne bloque pas ou n’intercepte pas ce signal. Il peut être nécessaire d’utiliser le signal KILL, puisque ce signal ne peut pas être intercepté.
Statut de sortie : 124 si COMMANDE expire et que –preserve-status n’est pas spécifié 125 si la commande timeout elle-même échoue 126 si COMMANDE est trouvé mais ne peut être invoqué 127 si COMMANDE est introuvable 137 si COMMANDE (ou timeout lui-même) reçoit le signal KILL (9) (128+9)
- sinon, le statut de sortie de COMMANDE
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.