PHP进程间通信-信号

信号
信号是一种系统调用。通常我们用的kill命令就是发送某个信号给某个进程的。具体有哪些信号可以在liunx/mac中运行kill -l查看。下面这个例子中,父进程等待5秒钟,向子进程发送sigint信号。子进程捕获信号,调信号处理函数处理。

代码演示

 0){
        unset($childList[$pid]);
    }
}

echo "The child process is killed by parent process {$parentId}\n";

运行结果
PHP进程间通信-信号_第1张图片
当父进程没有发送信号的时候,子进程会一直循环输出‘child process is running...’,父进程发送信号后,子进程在检查到有信号进来的时候调用对应的回调函数处理退出了子进程。

declare(ticks = 10)
这里的ticks=10,可以理解为程序执行10条低级语句后,检查看有没有未执行的信号,有的话就去处理。
关于declare(ticks = n)的详细讲解可以参考这篇文章

你可能感兴趣的:(php,进程间通信,信号函数)