实时运行流程

时间:2010-12-06 14:37:44

标签: php process

我试图弄清楚如何在PHP在命令行上启动的过程中实时显示输出(和读取输入)。似乎有很多选择: shell(), exec(), system(), popen(), proc_open()

我并不完全清楚有什么不同之处。我只需要执行一个进程,在调用PHP脚本的同一终端上显示其输出,也可以读取输入,最后在进程退出时返回到PHP脚本流。我列出的选项proc_open()可能会做到这一点,但它看起来有点过分,因为我想做的就是控制外部进程并等待它完成。

有一些看似相关的问题,但据我所知,它们实际上是关于在后台发送进程(我不想要)或在浏览器中显示输出(这不是我的情况,一切都是在一个终端)。

2 个答案:

答案 0 :(得分:2)

使用pcntl_fork()pcntl_exec(),例如this

答案 1 :(得分:0)

Google代码搜索上的this result可能会有所帮助。据我所知,它正在做一些非常类似于你正在寻找的东西,包括从STDOUT获取输出并(可能)通过STDIN提供输入。