Startseite > Prozessverwaltung > wait

wait: Warten auf den Abschluss von Hintergrundjobs

Der Befehl 'wait' wird verwendet, um zu warten, bis ein angegebener Hintergrundjob oder Prozess (PID) beendet ist. Er ist besonders nützlich in Skripten, wo mehrere Aufgaben gleichzeitig ausgeführt werden und das Skript warten muss, bis alle Aufgaben abgeschlossen sind.

Übersicht

'wait' bedeutet 'warten' und unterbricht die Ausführung der Shell, bis ein im Hintergrund ausgeführter Job in einem Shell-Skript beendet ist. Er wird typischerweise verwendet, wenn mehrere Jobs parallel im Hintergrund mit dem '&'-Zeichen ausgeführt wurden und die nächsten Schritte erst nach Abschluss all dieser Jobs erfolgen sollen. Die Verwendung von 'wait' ermöglicht es dem Skript, den Exit-Code des Hintergrundprozesses zu überprüfen, was hilft, den Erfolg des Jobs zu bestimmen.

Hauptmerkmale

Die Hauptmerkmale des 'wait'-Befehls sind:

  • Wartet auf den Abschluss eines bestimmten Hintergrundjobs.
  • Kann Jobnummern oder Prozess-IDs (PIDs) als Argumente annehmen.
  • Ohne Argumente ausgeführt, wartet es, bis alle Hintergrundjobs beendet sind.
  • Nützlich zum Synchronisieren mehrerer paralleler Jobs in Shell-Skripten.

Hauptoptionen

Der Befehl 'wait' nimmt Jobnummern oder PIDs als Argumente entgegen und ist ein einfacher Befehl mit wenigen Optionen.

1) Ausführungsoptionen

2) Hilfe

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`wait` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Lernen Sie die Funktionen des 'wait'-Befehls durch verschiedene Anwendungsbeispiele kennen.

Auf alle Hintergrundjobs warten

sleep 5 &
sleep 10 &
jobs
wait
echo 'Alle Jobs sind abgeschlossen.'

Führt mehrere 'sleep'-Jobs im Hintergrund aus und wartet dann mit dem 'wait'-Befehl, bis alle Jobs beendet sind.

Auf einen spezifischen Job warten

sleep 10 &
sleep 5 &
jobs
wait %1
echo 'Job 1 ist abgeschlossen.'

Wartet, bis Job Nummer 1 von zwei Jobs abgeschlossen ist. Überprüfen Sie die Jobnummern mit 'jobs' und verwenden Sie 'wait %1'.

Warten nach Prozess-ID (PID)

sleep 10 &
PID=$!
echo "Job mit PID $PID gestartet."
wait $PID
echo "Job mit PID $PID abgeschlossen."

Speichert die PID eines Hintergrundprozesses in einer Variablen mit '$!' und wartet dann, bis diese PID beendet ist.

Installation

'wait' ist ein integrierter Befehl der Shell (bash, zsh usw.) und erfordert keine separate Installation.

Tipps & Hinweise

Hier sind einige wichtige Punkte, die bei der Verwendung des 'wait'-Befehls zu beachten sind.

Tipps

  • 'wait' stoppt die Ausführung der Shell, bis der Hintergrundprozess beendet ist. Wenn der Prozess nicht beendet wird, wartet die Shell unbegrenzt.
  • Der Exit-Status des 'wait'-Befehls ist derselbe wie der Exit-Status des gewarteten Prozesses. Dadurch kann der Erfolg des Jobs im Skript überprüft werden.
  • Um Jobnummern ('%1') zu verwenden, müssen Sie zuerst die Hintergrundjobs der aktuellen Shell mit dem Befehl 'jobs' überprüfen. '$!' ist eine spezielle Variable, die die PID des zuletzt im Hintergrund ausgeführten Prozesses enthält.

Gleiche Kategorie Befehle