导航首页 » 技术教程 » PHP:pcntl_sigwaitinfo()的用法_PCNTL函数
PHP:pcntl_sigwaitinfo()的用法_PCNTL函数 175 2023-12-15   

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0)

pcntl_sigwaitinfo — 等待信号

说明

int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )

pcntl_sigwaitinfo()函数暂停调用脚本的执行直到接收到set 参数中列出的某个信号。只要其中的一个信号已经在等待状态(比如: 通过 pcntl_sigprocmask()函数阻塞), 函数pcntl_sigwaitinfo()就回立刻返回。

参数

set

要等待的信号数组。

siginfo

siginfo是一个输出参数,用来返回信号的信息。

以下元素会为所有信号设置: signo: 信号编号 errno: 错误编号 code: 信号代码

下面元素可能会为SIGCHLD信号设置: status: 退出的值或信号 utime: 用户消耗的时间 stime: 系统(内核)消耗的时间 pid: 发送进程ID uid: 发送进程的实际用户ID

信号SIGILL, SIGFPE, SIGSEGVSIGBUS 可能会被设置的元素: addr: 发生故障的内存位置

可能会为SIGPOLL 信号设置的元素: band: Band event fd: 文件描述符

返回值

成功时,函数pcntl_sigwaitinfo()返回一个信号编号。

范例

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() - 设置或检索阻塞信号 pcntl_sigtimedwait() - 带超时机制的信号等待


!!!站长长期在线接!!!

网站、小程序:定制开发/二次开发/仿制开发等

各种疑难杂症解决/定制接口/定制采集等

站长微信:lxwl520520

站长QQ:1737366103