(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Waits for signals
The pcntl_sigwaitinfo() function suspends execution of the
calling script until one of the signals given in signals
are delivered. If one of the signal is already pending (e.g. blocked by
pcntl_sigprocmask()),
pcntl_sigwaitinfo() will return immediately.
signalsArray of signals to wait for.
info
The info parameter is set to an array containing
information about the signal.
The following elements are set for all signals:
The following elements may be set for the SIGCHLD signal:
The following elements may be set for the SIGILL,
SIGFPE, SIGSEGV and
SIGBUS signals:
The following element may be set for the SIGPOLL
signal:
Returns a signal number on success, or false on failure.
| Version | Description |
|---|---|
| 8.4.0 |
A ValueError is thrown if signal
is empty.
|
| 8.4.0 |
A TypeError is thrown if signal
value is not an int.
|
| 8.4.0 |
A ValueError is thrown if signal
value is invalid.
|
Example #1 pcntl_sigwaitinfo() example
<?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);
?>