Ü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.