Function.pcntl-wait
Aus PHP-Wiki
pcntl_wait — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
Beschreibung
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().