(PHP 5 >= 5.3.0, PHP 7)
Waits for signals
int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )
The pcntl_sigwaitinfo() function suspends execution of the calling script until one of the signals given in set
are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask()), pcntl_sigwaitinfo() will return immediately.
Parameters:
set
Array of signals to wait for.
siginfo
The siginfo
parameter is set to an array containing informations about the signal.
The following elements are set for all signals:
- signo: Signal number
- errno: An error number
- code: Signal code
The following elements may be set for the SIGCHLD
signal:
- status: Exit value or signal
- utime: User time consumed
- stime: System time consumed
- pid: Sending process ID
- uid: Real user ID of sending process
The following elements may be set for the SIGILL
, SIGFPE
, SIGSEGV
and SIGBUS
signals:
- addr: Memory location which caused fault
The following element may be set for the SIGPOLL
signal:
- band: Band event
- fd: File descriptor number
Returns:
On success, pcntl_sigwaitinfo() returns a signal number.
Examples:
pcntl_sigwaitinfo() example
1 2 3 4 5 6 7 8 9 10 11 | <?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 ); ?> |
See also:
Please login to continue.