(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
<?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.