Commandes Linux

Attendre la commande sous Linux

Attendre la commande sous Linux
attendre est une commande intégrée de Linux qui attend la fin de tout processus en cours. attendre la commande est utilisée avec un identifiant de processus ou un identifiant de travail particulier. Lorsque plusieurs processus sont en cours d'exécution dans le shell, seul l'ID de processus de la dernière commande sera connu par le shell actuel. Si la commande wait est exécutée cette fois, alors elle sera appliquée pour la dernière commande. Si aucun ID de processus ou d'ID de travail n'est donné avec la commande wait, il attendra que tous les processus enfants actuels se terminent et renvoie l'état de sortie.

La valeur de l'état de sortie de la commande wait dépend de la commande indiquée par le dernier opérande spécifié. Lorsqu'un processus se termine anormalement, l'état de sortie sera supérieur à 128 et sera différent des valeurs d'état de sortie des autres commandes. attendre la commande se termine avec la valeur 0 lorsqu'elle appelle sans opérande et que tous les ID de processus sont connus par le shell actuel se sont terminés. Si la commande wait détecte une erreur, elle renvoie une valeur comprise entre 1 et 126. Si le dernier identifiant de processus est inconnu, la commande wait se termine avec la valeur 127. Comment vous pouvez utiliser la commande wait sous Linux est montré dans ce tutoriel.

Exemple-1 : Utilisation de la commande wait pour plusieurs processus

Après avoir exécuté le script suivant, deux processus s'exécuteront en arrière-plan et l'ID de processus de la première commande echo est stocké dans la variable $process_id. Lorsque la commande wait est exécutée avec $process_id, la commande suivante attendra la fin de la tâche de la première commande echo. La deuxième commande wait est utilisée avec '$!' et cela indique l'ID de processus du dernier processus en cours d'exécution. '$?' est utilisé pour lire la valeur d'état de la commande wait.

#!/bin/bash
echo "test d'attente commande1" &
ID_processus=$!
echo "test d'attente de la commande2" &
attendez $process_id
echo Job 1 terminé avec le statut $?
attendre $!
echo Job 2 terminé avec le statut $?

Production:

$ bash attendre1.sh

Exemple 2 : tester la commande wait après avoir utilisé la commande kill

Dans le script suivant, la commande wait est exécutée après la fin du processus. la commande sleep s'exécute en tant que processus d'arrière-plan et la commande kill est exécutée pour mettre fin au processus en cours d'exécution. Après cette commande d'attente est exécutée avec l'ID de processus du processus terminé. La sortie affichera l'ID de processus du processus terminé.

#!/bin/bash
echo "Test de la commande d'attente"
dormir 20 &
pid=$!
tuer $pid
attendez $pid
echo $pid a été terminé.

Production:

$ bash attendre2.sh

Exemple-3 : Vérifier la valeur de l'état de sortie

Dans le script suivant, la fonction Chèque() est appelé par deux valeurs d'argument. Il est expliqué au début du didacticiel que si la commande wait est exécutée avec succès, la valeur de sortie sera 0 et si la commande wait détecte une erreur, elle renverra n'importe quelle valeur comprise entre 1 et 126. Après avoir exécuté le script, si vous passez 0 comme deuxième valeur d'argument, la commande wait se termine avec succès et si vous passez une valeur supérieure à zéro, elle se termine sans succès.

#!/bin/bash
vérification de la fonction()

echo "Dormir pendant $1 secondes"
dormir $1
sortie $2

chèque 1 $ 2 $ &
b=$!
echo "Vérification de l'état"
attendre $b && echo OK || écho PAS OK

Production:

$ bash attendre3.sh 3 0
$ bash attendre3.sh 3 5

J'espère que ce tutoriel vous aidera à apprendre correctement la commande use wait. Il existe une autre commande sous Linux, nommée dormir attendre un certain nombre de fois mais il y a quelques différences entre ces commandes. Si vous souhaitez en savoir plus sur la commande sleep, vous pouvez visiter ce lien.

Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...
Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...