Bash Wiki
Posts (Latest 30 updated) :
Read all
Contents:
  1. [Linux] Bash wait Verwendung: Warten auf den Abschluss von Hintergrundprozessen
    1. Übersicht
    2. Verwendung
    3. Häufige Optionen
    4. Häufige Beispiele
      1. Beispiel 1: Warten auf alle Hintergrundprozesse
      2. Beispiel 2: Warten auf einen spezifischen Prozess
      3. Beispiel 3: Verwenden der -n Option
    5. Tipps

[Linux] Bash wait Verwendung: Warten auf den Abschluss von Hintergrundprozessen

Übersicht

Der wait Befehl in Bash wird verwendet, um auf den Abschluss von Hintergrundprozessen zu warten. Er ermöglicht es einem Skript oder einer Shell, die Ausführung anzuhalten, bis ein oder mehrere Hintergrundjobs beendet sind.

Verwendung

Die grundlegende Syntax des wait Befehls lautet:

wait [Optionen] [Argumente]

Häufige Optionen

  • PID: Gibt die Prozess-ID eines spezifischen Hintergrundprozesses an, auf den gewartet werden soll. Wenn keine PID angegeben wird, wartet wait auf alle Hintergrundprozesse der aktuellen Shell.
  • -n: Wartet auf den Abschluss des nächsten beendeten Hintergrundprozesses.

Häufige Beispiele

Beispiel 1: Warten auf alle Hintergrundprozesse

sleep 5 &
sleep 10 &
wait
echo "Alle Hintergrundprozesse sind abgeschlossen."

In diesem Beispiel werden zwei sleep Befehle im Hintergrund ausgeführt, und das Skript wartet, bis beide abgeschlossen sind, bevor es die Nachricht ausgibt.

Beispiel 2: Warten auf einen spezifischen Prozess

sleep 5 &
PID=$!
echo "Warte auf Prozess mit PID $PID..."
wait $PID
echo "Prozess $PID ist abgeschlossen."

Hier wird die PID des ersten sleep Befehls gespeichert, und das Skript wartet nur auf diesen spezifischen Prozess.

Beispiel 3: Verwenden der -n Option

for i in {1..3}; do
    sleep $i &
done
wait -n
echo "Ein Hintergrundprozess ist abgeschlossen."

In diesem Beispiel wird mit der -n Option gewartet, bis der nächste Hintergrundprozess beendet ist, bevor die Nachricht ausgegeben wird.

Tipps

  • Verwenden Sie wait in Skripten, um sicherzustellen, dass alle Hintergrundprozesse abgeschlossen sind, bevor das Skript fortfährt.
  • Speichern Sie die PID von Prozessen, die Sie überwachen möchten, um gezielt auf deren Abschluss zu warten.
  • Nutzen Sie die -n Option, wenn Sie nur an dem Abschluss des nächsten beendeten Prozesses interessiert sind, um die Effizienz zu steigern.