(PHP 5, PHP 7, PHP 8)
pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
Die Funktion wait unterbricht die Ausführung des aktuellen Prozesses bis ein Kind sich beendet hat, oder bis ein Signal ausgeliefert wurde, dessen Aktion den aktuellen Prozess beendet, oder eine Signalverabeitungsfunktion aufruft. Wenn ein Kind sich zum Zeitpunkt des Funktionsaufrufes bereits beendet hat (ein sog. "Zombie" Prozess), kehrt die Funktion umgehend zurück. Alle durch das Kind verwendeten Ressourcen werden freigegeben. Die waitpid(2) Handbuch-Seite des Systems ist bezüglich spezifischer Details, wie waitpid auf dem System arbeitet, zu konsultieren.
Hinweis:
Diese Funktion ist gleichwertig zum Aufruf der Funktion pcntl_waitpid() mit
-1
alsprocess_id
und keinerleiflags
.
status
pcntl_wait() speichert Statusinformationen im Parameter status
, welcher durch die folgenden Funktionen ausgewertet werden kann: pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() und pcntl_wstopsig().
flags
Wenn wait3 auf Ihrem System verfügbar ist (meist BSD-artige Systeme) können Sie den optionalen flags
Parameter angeben. Wenn dieser Parameter nicht angegeben wurde, wird wait als Systemaufruf verwendet. Wenn wait3 nicht verfügbar ist, wird die Angabe eines Wertes für flags
keinerlei Auswirkungen haben. Der Wert von flags
ist der Wert von keiner oder mehr der folgenden durch OR
verknüpften beiden Konstanten:
WNOHANG | Kehre umgehend zurück, wenn kein Kind beendet wurde. |
WUNTRACED | Kehre für Kinder zurück die gestoppt sind und für solche, deren Status nicht gemeldet ist. |
pcntl_wait() gibt die Prozess ID des beendeten Kindes zurück, -1 im Fehlerfall, oder 0, wenn WNOHANG als Option angegeben wurde (auf wait3 Systemen) und kein Kind verfügbar war.