函数名称:pcntl_wifstopped()
适用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7
函数说明:pcntl_wifstopped()函数用于检查进程是否由于信号而停止。
用法: bool pcntl_wifstopped ( int $status )
参数说明:
- status:进程的状态。
返回值: 如果进程由于信号而停止,则返回TRUE;否则返回FALSE。
示例:
<?php
// 创建一个子进程
$pid = pcntl_fork();
if ($pid == -1) {
// 创建子进程失败
exit("无法创建子进程");
} elseif ($pid) {
// 父进程
pcntl_waitpid($pid, $status, WUNTRACED);
if (pcntl_wifstopped($status)) {
echo "子进程被信号停止\n";
} else {
echo "子进程未被信号停止\n";
}
} else {
// 子进程
sleep(5);
exit();
}
?>
在上述示例中,我们首先创建了一个子进程,并使用pcntl_waitpid()
函数等待子进程的结束。然后,我们使用pcntl_wifstopped()
函数来检查子进程是否由于信号而停止。如果子进程被信号停止,将输出"子进程被信号停止";否则,将输出"子进程未被信号停止"。
请注意,pcntl_wifstopped()
函数只能在类Unix系统下使用,因为Windows系统不支持进程间通信。