Forum und email

pcntl_wait

(PHP 5)

pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück

Beschreibung

int pcntl_wait ( int &$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:

mögliche Werte für options , falls wait3 verfügbar ist
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 keinerlei options .

Siehe auch pcntl_fork(), pcntl_signal(), pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig(), pcntl_wstopsig() und pcntl_waitpid().