2012-03-01 138 views
0

我有一个PHP脚本,可以在阻塞模式下从管道读取数据。每隔几秒PHP调用一次pcntl_signal_dispatch()

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

我希望能有而我的剧本正在等待从管道输入,而不会干扰排队管读取pcntl_signal_dispatch执行每隔几秒钟。

有什么建议吗?

回答

0

据我所知,当脚本阻塞时,您无法对信号做出响应。您必须从管道执行非阻塞读取操作,或者在一个进程中执行读取操作,并在另一个进程中分派信号(读取子进程并通过管道传递回父进程,让父进程响应信号)。如果你正在阅读孩子并通过管道回到父母身上,那么你实际上可能不需要这些信号。

看了这个,它会更有意义(包含一步一步的代码):

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

...和整体父页面:

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

相关问题