Comment utiliser la commande «timeout» dans Linux?

Comment utiliser la commande «timeout» dans Linux?
Dans le système d'exploitation Linux, certains processus s'exécutent en continu et pour les tuer après un certain temps, un utilitaire de ligne de commande appelée «Timeout» est utilisé.

Le "temps libre»Permet à l'utilisateur d'exécuter une commande, puis de la terminer après une heure définie. Autrement dit, "temps libre"Facilite l'exécution d'une commande pendant un certain temps. Le "temps libre»La commande est incluse dans le kit utilitaire GNU Core, qui est livré standard avec presque tous les systèmes Linux.

Dans la rédaction, nous passerons par les principes fondamentaux de cette commande avec des exemples.

Syntaxe

La commande «Timeout» a la syntaxe suivante:

timeout [option] [durée] [Commande]

La durée peut être dans des entiers flottants avec le suffixe temporel:

S / Aucun suffixe (quand aucune unité de suffixe n'est fixée, considérez-la en seconde)
M = minute
h = heure
d = jour

En utilisant la commande «timeout»

Ping votre système avec une adresse IP, il continuera jusqu'à ce que vous le terminez en appuyant sur Ctrl + C.

Maintenant, définissez un temps pour le terminer en utilisant la commande «timeout». Par exemple, je vais définir l'heure sur 7, ce qui signifie que l'exécution de la commande «ping» s'arrêtera après 7 secondes.

Suivez la commande ci-dessous pour définir la limite de temps:

$ timeout 7 ping 192.168.18.213

Définir le temps mort avec une autre unité de temps

De même, nous pouvons cingler «Facebook.com »aussi, en utilisant:

$ ping facebook.com

Pour arrêter la commande «ping» après 1 minute, tapez une commande de divagations ci-dessous dans un terminal:

$ timeout 1m ping facebook.com

Affichage du statut de sortie

De nombreux programmes ont envoyé une valeur / code au shell lorsqu'ils se terminent.

Par exemple, terminez le processus suivant avant qu'il n'atteigne sa limite de temps qui est de 6 secondes. Appuyez sur Ctrl + C et vérifiez l'état de sortie en tapant "Echo $". Il renverra «0» dans la sortie:

$ timeout 6 ping Facebook.com

L'interruption d'un processus en cours donnera toujours un code de sortie «0».

Préserver le statut

L'état de la conservation renvoie un statut de sortie même si nous le terminons avec force en utilisant Ctrl + C. La commande serait:

$ timeout - ProServe-status 2 ping Facebook.com

Et pour vérifier le code de sortie, tapez:

$ echo $?

Maintenant, le statut de sortie sera 143.

Envoi des signaux au délai d'attente

La commande «Timeout» envoie un signal au processus pour le terminer.

Pour vérifier les signaux disponibles, utilisez la commande «Kill»:

$ kill -l

Une liste de tous les signaux disponibles sera affiché.

Le «-S» (-sign) L'option vous permet de définir un signal pour donner:

$ timeout -s

La commande «Timeout» utilise le «sigterm» pour arrêter un processus, mais de nombreux processus ignorent le signal «Sigterm». Pour terminer avec force un processus en utilisant le signal «Sigkill», ne peut être ignoré par aucun processus.

Envoi Sigkill à la commande ping après 2 secondes, type:

$ sudo timeout -s Sigkill ping facebook.com

Vous pouvez également envoyer des signaux en utilisant un numéro de signal au lieu du nom d'un signal:

$ sudo timeout -s 9 ping 192.168.18.213

Envoi de signaux de mise à mort

Le "-K" L'option est utilisée pour terminer le processus.

Dans l'exemple suivant, si la connexion ne s'établit pas en 2 minutes, elle tuera la commande de délai d'expiration après 3 secondes:

$ sudo timeout -k 3 2m ping Facebook.com

Dans mon cas, la commande de délai d'expiration fonctionnera pendant 2 minutes et ne sera pas terminée. Par conséquent, il ne tuera pas même après 3 secondes.

Obtenir de l'aide

Linux a une très bonne fonctionnalité qu'il fournit de l'aide pour chaque commande que nous utilisons. En utilisant "aider" Avec un nom de commande, il vous donnera les informations d'aide en détail:

$ timeout - help

Vérification de la version

Pour vérifier la version de la commande timeout, Type:

$ timeout --version

Conclusion

Dans le système d'exploitation Linux, la commande «Timeout» est une utilité en ligne de commande qui est utilisée pour terminer un processus en cours après une période définie. Il est utilisé pour les processus qui s'exécutent en continu. De plus, l'état de sortie des processus en cours d'exécution est également accessible à l'aide de la commande «Timeout». Nous avons discuté des commandes de délai d'attente à travers différents exemples avec plusieurs options.