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)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.