pcntl_sigwaitinfo
(PHP 5 >= 5.3.0)
pcntl_sigwaitinfo — Waits for signals
Description
$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
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
<?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
- pcntl_sigprocmask() - Sets and retrieves blocked signals
- pcntl_sigtimedwait() - Waits for signals, with a timeout
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для управления процессами программ
- Process Control
- pcntl_alarm
- pcntl_errno
- pcntl_exec
- pcntl_fork
- pcntl_get_last_error
- pcntl_getpriority
- pcntl_setpriority
- pcntl_signal_dispatch
- pcntl_signal
- pcntl_sigprocmask
- pcntl_sigtimedwait
- pcntl_sigwaitinfo
- pcntl_strerror
- pcntl_wait
- pcntl_waitpid
- pcntl_wexitstatus
- pcntl_wifexited
- pcntl_wifsignaled
- pcntl_wifstopped
- pcntl_wstopsig
- pcntl_wtermsig
Коментарии
This function is not available on platforms that do not implement the underlying C function. Included in this would be MaxOS[1], and FreeBSD[2]
[1] : http://opensource.apple.com//source/xnu/xnu-1456.1.26/bsd/sys/signal.h
[2] : http://fxr.watson.org/fxr/source/sys/signal.h?v=FREEBSD11