accueil > Gestion des processus > wait

wait: Attendre la fin des tâches en arrière-plan

La commande wait est utilisée pour attendre qu'une tâche en arrière-plan (job) ou un processus (PID) spécifié se termine. Elle est particulièrement utile dans les scripts où plusieurs tâches sont exécutées simultanément et où il est nécessaire d'attendre que toutes soient terminées avant de poursuivre.

Aperçu

wait signifie littéralement 'attendre' et suspend l'exécution du shell jusqu'à ce qu'une tâche exécutée en arrière-plan dans un script shell se termine. Il est généralement utilisé lorsque plusieurs tâches sont exécutées en parallèle en arrière-plan à l'aide du symbole `&`, et que la tâche suivante ne doit être exécutée qu'une fois que toutes ces tâches sont terminées. L'utilisation de `wait` permet également au script de vérifier le code de sortie du processus en arrière-plan, ce qui aide à déterminer le succès de la tâche.

Caractéristiques principales

Les principales caractéristiques de la commande wait sont les suivantes :

  • Attend la fin d'une tâche en arrière-plan spécifique.
  • Peut spécifier un numéro de tâche (job number) ou un ID de processus (PID) comme argument.
  • Si exécuté sans arguments, attend la fin de toutes les tâches en arrière-plan.
  • Utile pour synchroniser plusieurs tâches parallèles dans un script shell.

Options principales

La commande wait prend un numéro de tâche ou un PID comme argument et est une commande simple avec très peu d'options.

1) Options d'exécution

2) Aide

Commande générée :

Essayez de combiner les commandes.

Description:

`wait` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Découvrez les fonctionnalités de la commande wait à travers divers exemples d'utilisation.

Attendre toutes les tâches en arrière-plan

sleep 5 &
sleep 10 &
jobs
wait
echo 'Toutes les tâches sont terminées.'

Exécute plusieurs tâches `sleep` en arrière-plan, puis utilise la commande `wait` pour attendre que toutes les tâches se terminent.

Attendre une tâche spécifique

sleep 10 &
sleep 5 &
jobs
wait %1
echo 'La tâche 1 est terminée.'

Attend que la tâche numéro 1 se termine parmi deux tâches. Utilisez la commande `jobs` pour vérifier le numéro de tâche, puis utilisez `wait %1`.

Attendre par ID de processus (PID)

sleep 10 &
PID=$!
echo "La tâche avec le PID $PID a démarré."
wait $PID
echo "La tâche avec le PID $PID est terminée."

Dans un script, stockez le PID du processus en arrière-plan dans une variable en utilisant `$!`, puis attendez que ce PID se termine.

Installation

wait est une commande intégrée au shell (bash, zsh, etc.) et ne nécessite aucune installation séparée.

Conseils & Précautions

Voici les points à prendre en compte lors de l'utilisation de la commande wait.

Conseils

  • `wait` arrête l'exécution du shell jusqu'à ce que le processus en arrière-plan se termine. Si le processus ne se termine pas, le shell continuera d'attendre.
  • Le code de sortie de la commande `wait` est le même que celui du processus attendu. Cela permet de vérifier le succès de la tâche dans le script.
  • Pour utiliser un numéro de tâche (`%1`), vous devez d'abord vérifier les tâches en arrière-plan du shell actuel avec la commande `jobs`. `$!` est une variable spéciale qui contient le PID du processus le plus récemment exécuté en arrière-plan.

Commandes de la même catégorie