(PHP 5 >= 5.3.0)
pcntl_sigwaitinfo — 等待信號(hào)
說明
int pcntl_sigwaitinfo ( array$set
[, array &$siginfo
] )
pcntl_sigwaitinfo()函數(shù)暫停調(diào)用腳本的執(zhí)行直到接收到set
參數(shù)中列出的某個(gè)信號(hào)。只要其中的一個(gè)信號(hào)已經(jīng)在等待狀態(tài)(比如: 通過
pcntl_sigprocmask()函數(shù)阻塞),
函數(shù)pcntl_sigwaitinfo()就回立刻返回。
參數(shù)
set
要等待的信號(hào)數(shù)組。
siginfo
siginfo
是一個(gè)輸出參數(shù),用來返回信號(hào)的信息。
以下元素會(huì)為所有信號(hào)設(shè)置: signo: 信號(hào)編號(hào) errno: 錯(cuò)誤編號(hào) code: 信號(hào)代碼
下面元素可能會(huì)為SIGCHLD
信號(hào)設(shè)置:
status: 退出的值或信號(hào)
utime: 用戶消耗的時(shí)間
stime: 系統(tǒng)(內(nèi)核)消耗的時(shí)間
pid: 發(fā)送進(jìn)程ID
uid: 發(fā)送進(jìn)程的實(shí)際用戶ID
信號(hào)SIGILL
,
SIGFPE
, SIGSEGV
和
SIGBUS
可能會(huì)被設(shè)置的元素:
addr: 發(fā)生故障的內(nèi)存位置
可能會(huì)為SIGPOLL
信號(hào)設(shè)置的元素:
band: Band event
fd: 文件描述符
返回值
成功時(shí),函數(shù)pcntl_sigwaitinfo()返回一個(gè)信號(hào)編號(hào)。
范例
Example #1 pcntl_sigwaitinfo() example
<?php
echo "Blocking SIGHUP signaln";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Sending SIGHUP to selfn";
posix_kill(posix_getpid(), SIGHUP);
echo "Waiting for signalsn";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>
參見
pcntl_sigprocmask() - 設(shè)置或檢索阻塞信號(hào) pcntl_sigtimedwait() - 帶超時(shí)機(jī)制的信號(hào)等待