(PHP 5, PHP 7)
pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
&$status
[, int $options
] )Die Funktion 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. Bitte schlagen Sie in der waitpid(2) man Seite Ihres Systems für spezifische Dateils nach, wie waitpid auf Ihrem System arbeitet.
pcntl_wait() gibt die Prozess ID des beendeten Kindes zurück, -1 im Fehlerfall oder Null wenn WNOHANG als Option angegeben war (auf wait3 Systemen) und kein kind verfügbar war.
Wenn wait3 auf Ihrem System verfügbar ist (meist BSD-artige Systeme) können
Sie den optionalen options
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 options
keinerlei Auswirkungen haben. Der Wert
von options
ist der Wert von Null 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() 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().
Hinweis:
Diese Funktion ist gleichwertig zum Aufruf der Funktion pcntl_waitpid() mit -1 als
pid
und keinerleioptions
.
Siehe auch pcntl_fork(), pcntl_signal(), pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig(), pcntl_wstopsig() und pcntl_waitpid().