2010-07-14 117 views

回答

2

我會用PHP Expect。該文件有一些非常好的usage examples

+1

一旦這個過程開始了,你如何在連續的請求中獲得它的句柄? – spoulson 2010-07-14 20:24:30

+0

@spoulson:啊,我明白了 - 現在你的問題已經更清楚了,你已經更新了它:-)。這很難,讓我想一想...... – psmears 2010-07-14 21:12:48

0

如果您使用PHP來中繼用戶鍵入的命令到一個shell,您可以使用多張呼籲shell_exec

了shell_exec將返回完整的輸出,你可以然後回給用戶。

1

如果您使用的是Linux,則可以在/ proc中訪問proc文件系統。儘管發行版可能有所不同,但在Ubuntu服務器中,我可以在/ proc/<pid>/fd/[012]處找到我的stdio。 0是標準輸入,1是標準輸出,2是標準錯誤。如果您將這些內容重定向到/ dev/null,這可能無法正常工作,因爲您需要執行一些脫離長時間運行的後臺進程的方法。如果您有權訪問後臺進程的pid(a la http://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/),則應該能夠在Linux中訪問該進程的stdin/stdout。