2014-02-08 55 views
1

我正在使用screen -d -m調用PHP進程,以便它在新的screen會話中啓動進程。我想將該PHP進程的STDOUT存儲在日誌文件中。通常,我可以簡單地添加> output.log,並且該日誌文件將被創建並填充PHP進程的標準輸出。在新的屏幕會話中啓動PHP進程時,這不起作用。日誌文件已創建,但永遠不會寫入。如何重定向通過screen -d -m調用的PHP進程的STDOUT?

如何記錄此PHP進程的標準輸出?

screen -d -m php process.php user_input_1 user_input_1 > output.log 

我相信這個命令被重定向STDOUT的screen命令來output.log,而不是STDOUT的process.php的。

+0

爲什麼你使用屏幕?只是背景的過程可能會更好。 –

回答

1

屏幕的替代方法是使用tmux。這是一個很好的概述,它提供了超過屏幕:http://dominik.honnef.co/posts/2010/10/why_you_should_try_tmux_instead_of_screen/

這是一個可編寫腳本的軟件,所以看起來你可以控制輸出。這篇文章(http://ricochen.wordpress.com/2011/04/07/capture-tmux-output-the-much-less-painful-way/)似乎表示同樣多。那裏列出的命令應該是可編寫腳本的。

YMMV,我沒有試過這個。我想我可能會嘗試一種不同的方法(可能使用日誌記錄服務器)。如果您對此有任何其他疑問,或者您正在尋求不同的方法,請告訴我。

現在gimmie我的業力;)

相關問題