Pascal BEAUSSART

wait


La commande wait suspend l'exécution d'un programme tant que le job spécifié en paramètre n'est pas terminé.

Dans l'exemple ci-après le programme affiche des points tant que la compression du fichier n'est pas terminée.
Dès que la compresion est terminée le programme bloqué par la commande wait $PID est libéré et le message
"La compression est terminée" peut être affiché.

affiche_points() {
  while ps $PID > /dev/null  # Boucle tant que $PID existe
  do print - ".\c"           # Affiche un point sans retour chariot
     sleep 1
  done
}

fichier='image.ps'
echo "compression en cours : "
compress $fichier &
PID=$!
affiche_points &             # Fonction lancée en background

wait $PID                    # Attente de la fin de la compression
echo "\nLa compression est terminée"

[RETOUR] [HOME]