Function.pcntl-waitpid
Aus PHP-Wiki
pcntl_waitpid — Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
Beschreibung
Beschreibung
int pcntl_waitpid ( int $pid , int &$status [, int $options ] )
Die Funktion pcntl_waitpid() unterbricht die Ausführung
des aktuellen Prozesses bis ein durch den Parameter
pid
angegebenes Kind sich beendet hat oder bis ein
Signal ausgeliefert wurde dessen Aktion den aktuellen Prozess beendet oder
eine Signalverabeitungsfunktion aufruft.
Wenn ein Kind, welches durch pid
angefordert wird,
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_waitpid() gibt entweder die Prozess ID des Kindes
zurück, das beendet wurde, -1 im Fehlerfalle oder Null, wenn WNOHANG
verwendet wurde und kein Kind verfügbar war.
Der Wert von pid
kann einer der Folgenden sein:
mögliche Werte für pid
< -1
wartet auf einen Kindprozess dessen Prozessgruppen ID gleich dem
absoluten Wert von pid
ist.
-1
wartet auf einen Kindprozess; dies ist das selbe Verhalten, welches die
wait Funktion anbietet.
0
wartet auf einen Kindprozess dessen Prozessgruppen ID gleich dem Wert
des aufrufenden Prozesses ist.
> 0
wartet auf das Kind, dessen Prozess ID gleich dem Wert von
pid
ist.
Hinweis:
Angeben von -1 für den Parameter
pid
ist äquivalent zur Funktionalität der Funktion
pcntl_wait() (ohne options
).
pcntl_waitpid() 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().
Der Wert von options
ist der Wert von Null oder mehr
der mittels OR verknüpften folgenden beiden globalen
Konstanten:
mögliche Werte für options
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.
Siehe auch pcntl_fork(),
pcntl_signal(),
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() und
pcntl_wstopsig().