函数名称:pcntl_signal_dispatch()
函数描述:pcntl_signal_dispatch() 函数调用等待信号的处理器。
适用版本:该函数在PHP 4 >= 4.3.0, PHP 5, PHP 7中可用。
用法: pcntl_signal_dispatch(): void
示例:
<?php
// 定义信号处理函数
function signalHandler($signal)
{
echo "接收到信号:{$signal}\n";
}
// 安装信号处理器
pcntl_signal(SIGINT, 'signalHandler');
// 执行等待信号处理器
pcntl_signal_dispatch();
// 发送信号
posix_kill(posix_getpid(), SIGINT);
// 执行等待信号处理器
pcntl_signal_dispatch();
?>
输出结果:
接收到信号:2
解释: pcntl_signal_dispatch() 函数用于调用等待信号的处理器。在示例中,我们首先定义了一个名为 signalHandler 的信号处理函数,然后通过 pcntl_signal() 函数将 SIGINT 信号与 signalHandler 函数关联起来。接下来,使用 posix_kill() 函数向当前进程发送 SIGINT 信号。最后,通过调用 pcntl_signal_dispatch() 函数来执行等待信号处理器。在示例中,我们收到了一个信号,输出结果显示 "接收到信号:2",其中 2 代表 SIGINT 信号的编号。