Php/docs/function.pcntl-sigwaitinfo
pcntl_sigwaitinfo
(PHP 5 >= 5.3.0, PHP 7)
pcntl_sigwaitinfo — Waits for signals
Description
pcntl_sigwaitinfo
( array $set
[, array &$siginfo
] ) : int
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 information 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
andSIGBUS
signals:- addr: Memory location which caused fault
The following element may be set for the
SIGPOLL
signal:- band: Band event
- fd: File descriptor number
Return Values
On success, pcntl_sigwaitinfo() returns a signal number.
Examples
Example #1 pcntl_sigwaitinfo() example
<?phpecho "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
- pcntl_sigprocmask() - Sets and retrieves blocked signals
- pcntl_sigtimedwait() - Waits for signals, with a timeout