牛牛在线工具

pcntl_sigwaitinfo()

收录 8868 个 PHP 函数,含用途说明与用法示例。

pcntl_sigwaitinfo()

阻塞等待信号的到来,并返回收到信号的相关信息

函数名称:pcntl_sigwaitinfo() 适用版本:PHP 7.1.0 或更高版本 函数描述:pcntl_sigwaitinfo()函数用于阻塞等待信号的到来,并返回收到信号的相关信息。 语法:pcntl_sigwaitinfo(array $set, array &$siginfo) : int|false 参数: $set:一个包含所期望等待的信号的整数数组。 $siginfo:一个引用变量,用于存储收到信号的相关信息。 返回值: 如果成功接收到信号,则返回信号的编号。如果失败或超时,则返回false。 示例: // 设置期望等待的信号 $signals = [SIGUSR1, SIGUSR2]; // 创建一个信号集 $set = pcntl_sigwaitinfo([], $siginfo); // 阻塞等待信号的到来 $receivedSignal = pcntl_sigwaitinfo($signals, $siginfo); if ($receivedSignal !== false) { echo "收到信号: " . $receivedSignal . PHP_EOL; echo "信号的发送进程ID: " . $siginfo['pid'] . PHP_EOL; echo "信号的发送进程组ID: " . $siginfo['si_pid'] . PHP_EOL; echo "信号的发送用户ID: " . $siginfo['uid'] . PHP_EOL; echo "信号的发送时间戳: " . $siginfo['signo'] . PHP_EOL; } else { echo "等待信号超时或失败。" . PHP_EOL; } 在上面的示例中,我们首先设置了我们期望等待的信号数组$signals,然后调用pcntl_sigwaitinfo()函数来等待信号的到来。如果成功接收到信号,我们将输出信号的相关信息,包括信号编号、发送进程ID、发送进程组ID、发送用户ID和发送时间戳。如果等待信号超时或失败,则输出相应的错误信息。