(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Waits for signals
pcntl_sigwaitinfo(array $signals, array &$info = []): int|false
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); ?>
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.pcntl-sigwaitinfo.php