pcntl_wait

(PHP 5, PHP 7, PHP 8)

pcntl_waitWartet auf ein abgezweigtes Kind oder gibt dessen Status zurück

Beschreibung

pcntl_wait(int &$status, int $flags = 0, array &$resource_usage = []): int

Die Funktion wait unterbricht die Ausführung des aktuellen Prozesses, bis ein Kindprozess beendet ist oder bis ein Signal gesendet wird, um den aktuellen Prozess zu beenden oder eine Signalverabeitungsfunktion aufzurufen. Wenn ein Kindprozess zum Zeitpunkt des Funktionsaufrufs bereits beendet ist (ein sog. "Zombie"-Prozess), kehrt die Funktion umgehend zurück. Alle durch den Kindprozess verwendeten Ressourcen werden freigegeben. Spezifische Details, wie wait auf dem jeweiligen System funktioniert, sind in der wait(2)-Manpage des Systems zu finden.

Hinweis:

Ohne flags entspricht diese Funktion dem Aufruf der Funktion pcntl_waitpid() mit -1 als process_id.

Parameter-Liste

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 dem System verfügbar ist (meist BSD-artige Systeme) kann der optionale Parameter flags angegeben werden. Wenn dieser Parameter nicht angegeben wurde, wird wait als Systemaufruf verwendet. Wenn wait3 nicht verfügbar ist, hat die Angabe eines Wertes für flags keinerlei Auswirkungen. Der Wert von flags ist der Wert von keiner oder mehr der folgenden durch OR verknüpften beiden Konstanten:

Mögliche Werte für flags
WNOHANG Gebe umgehend zurück, wenn kein Kind beendet wurde.
WUNTRACED Gebe bei Kindern zurück, die angehalten wurden und deren Status nicht gemeldet wurde.

Rückgabewerte

pcntl_wait() gibt die Prozess-ID des Kindes zurück, das beendet wurde, -1 im Fehlerfall, oder 0, wenn WNOHANG als Option angegeben wurde (auf Systemen mit wait3) und kein Kind verfügbar war.

Siehe auch