(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Wartet auf Signale
Die Funktion pcntl_sigwaitinfo() unterbricht die
Ausführung des aufrufenden Skripts, bis eines der in
signals angegebenen Signale zugestellt wird. Ist
eines der Signale bereits ausstehend (z. B. durch
pcntl_sigprocmask() blockiert), kehrt
pcntl_sigwaitinfo() sofort zurück.
signalsArray von Signalen, auf die gewartet werden soll.
info
Der Parameter info wird auf ein Array gesetzt,
das Informationen über das Signal enthält.
Die folgenden Elemente werden für alle Signale gesetzt:
Die folgenden Elemente können für das Signal
SIGCHLD gesetzt sein:
Die folgenden Elemente können für die Signale
SIGILL, SIGFPE,
SIGSEGV und SIGBUS gesetzt
sein:
Die folgenden Elemente können für das Signal
SIGPOLL gesetzt sein:
Gibt bei Erfolg eine Signalnummer zurück. Bei einem Fehler wird false zurückgegeben.
| Version | Beschreibung |
|---|---|
| 8.4.0 |
Es wird ein ValueError geworfen, wenn
signal leer ist.
|
| 8.4.0 |
Es wird ein TypeError geworfen, wenn der Wert
von signal kein int ist.
|
| 8.4.0 |
Es wird ein ValueError geworfen, wenn der Wert
von signal ungültig ist.
|
Beispiel #1 pcntl_sigwaitinfo()-Beispiel
<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>