Bash wartet auf Hintergrundprozess

Sheeraz Gul 20 Juni 2023
Bash wartet auf Hintergrundprozess

Dieses Tutorial zeigt, wie Sie in Bash auf den Hintergrundprozess warten.

Bash wartet auf Hintergrundprozess

Mit dem wait-Befehl in Bash kann gewartet werden, bis alle Hintergrundprozesse abgeschlossen sind. Dieser Befehl wartet auf den Prozess und gibt den Exit-Status zurück.

Der Befehl wait wirkt sich auf die aktuelle Shell-Ausführungsumgebung aus, weshalb er in Bash und andere Shells integriert ist.

Die Syntax für den wait-Befehl lautet:

wait [Options] BackgroundProcessID

Wobei die BackgroundProcessID-ID der Prozess oder Job ist. Der Befehl Warten wartet, bis alle Prozesse und Unterprozesse für die angegebene ID abgeschlossen sind.

Ein einfaches Beispiel für einen Warten-Befehl kann sein:

wait 1234

Der obige Befehl wartet auf den Hintergrundprozess 1234. Wir können auch mehrere Prozesse angeben, und dann wartet der Warten-Befehl auf alle Hintergrundprozesse.

Lassen Sie uns nun einen Prozess im Hintergrundprozess ausführen:

rsync -a /mn/c/Users/Sheeraz &

Der obige Befehl führt einen Prozess im Hintergrund aus und gibt die Job- und Prozess-ID zurück. Siehe die Ausgabe:

[1] 37

Wobei die Job-ID 1 und die Prozess-ID 37 ist.

Um nun auf den Job zu warten, führen wir den folgenden Befehl aus:

wait %1

Wobei 1 die Job-ID war. Die Ausgabe für diesen Befehl ist:

[1]+  Exit 23                 rsync -a /mn/c/Users/Sheeraz

Und um auf den Prozess zu warten, verwenden wir den folgenden Befehl:

wait 37

Der obige Befehl wartet auf den Abschluss des Hintergrundprozesses 37. Meistens wird in den Bash-Skriptdateien der Befehl wait verwendet, der die parallel ausgeführten Hintergrundprozesse hervorruft.

Hier ist ein Beispiel für die Skriptdatei:

#!/bin/bash
sleep 30 &
ProcessId=$!
echo "PID: $ProcessId"
wait $ProcessId
echo "Exit status: $?"

Das Ausführen dieses Skripts gibt die Prozess-ID und den Beendigungsstatus für den Hintergrundprozess aus. Siehe die Ausgabe:

PID: 50
Exit status: 0
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - Bash Background