php命令行阅读器

时间:2012-01-26 03:09:53

标签: php command-line process stream children

所以我希望能够在PHP中执行以下操作。从命令行我调用脚本。

 /usr/bin/php mychildren.php

我希望脚本能够创建2个子进程,这两个进程都无限期保持活动状态。 (比方说我们让它们成为无限循环= D),但是我希望子进程偶尔回应第一个进程的hello并告别第二个进程。然后,当我使用pcntl_signal执行信号中断(ctrl + c)时,我可以杀死2个子进程,一旦我确认它们被杀死,那么我就会杀死父进程。

这甚至可能吗?!我看了一下流媒体,我对如何使这个工作非常困惑。似乎它应该工作,但我无法正常工作。

快速详情: 2个孩子的过程 每个孩子偶尔会随机回声 当我杀死父母时,孩子们死了,一旦他们死了,那么父母就会死去

1 个答案:

答案 0 :(得分:1)

虽然可以使用pcntl_fork创建子进程,但通常最好使用proc_open重新执行子进程。使用pcntl_signal安装信号处理程序(以终止子进程)。如果您希望子进程直接写入相同的输出,则必须实现某种IPC以避免同时写入。

因此,最好让两个子进程都写入主进程,让主进程等待整行或以其他方式同步输出。