我想弄清楚如何在命令行上由PHP啓動的進程中實時顯示輸出(和讀取輸入)。似乎有很多替代品: shell(), exec(), system(), popen(), proc_open()
實時運行進程
並且我不完全清楚有什麼區別。我需要的只是執行一個進程,在調用PHP腳本的同一終端上顯示其輸出,可能會讀取輸入,並在進程退出時最終返回到PHP腳本流。我列出的選項proc_open()
可能可以做到這一點,但似乎有點矯枉過正,因爲我想要做的就是控制外部進程並等待它完成。
有一些問題似乎有關,但據我所見,他們實際上是關於在後臺發送進程(我不想)或在瀏覽器中顯示輸出結果(這不是我的情況,一切在終端中)。
你可以規範出你的「實時」是什麼意思?這會使你得到的答案有所不同。例如,就核電廠的控制系統而言,人類感知的「實時」與「實時」不同。 – rcravens 2010-12-06 14:47:07
我的意思是用戶感知的實時。關鍵是,例如,shell()將在完成時將進程的所有輸出結合在一起。 – Andrea 2010-12-06 14:53:33