PHP每隔几秒就调用一次pcntl_signal_dispatch()

时间:2012-03-01 06:53:28

标签: php fcntl

我有一个PHP脚本,可以在阻塞模式下从管道读取。

while($input = trim(fgets($pipe))) { do some stuff }

我希望能够每隔几秒执行一次pcntl_signal_dispatch,同时我的脚本正在等待来自管道的输入,而不会干扰排队的管道读取。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

据我所知,当脚本阻塞时,您无法响应信号。你必须要么从管道进行非阻塞读取,要么在一个进程中进行读取,然后在另一个进程中发送信号(读入子进程并通过管道传回父进程,让父进程响应信号)。如果您正在阅读孩子并通过管道传回父母,那么您实际上可能不需要信号。

阅读本文,它会更有意义(包含逐步代码):

http://www.tuxradar.com/practicalphp/16/1/9

...和整个父页面:

http://www.tuxradar.com/practicalphp/16/0/0

相关问题