我正在使用 screen -d -m
调用一个 PHP 进程,以便它在新的 screen
session 中启动该进程。我想将该 PHP 进程的 STDOUT 存储在日志文件中。通常,我可以简单地添加 > output.log
,然后将创建该日志文件并使用 PHP 进程的 STDOUT 进行填充。当 PHP 进程在新 screen session 中启动时,这不起作用。日志文件已创建,但从未写入。
如何记录这个PHP进程的STDOUT?
screen -d -m php process.php user_input_1 user_input_1 > output.log
我相信此命令会将 screen
命令的 STDOUT 重定向到 output.log
而不是 process.php
的 STDOUT。
最佳答案
screen 的替代方法是使用 tmux。这是它在 screen 上提供的内容的一个很好的概述: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,我没试过这个。我想我可能会尝试不同的方法(可能使用日志服务器)。如果您对此有任何其他问题,或者您正在寻求不同的方法,请告诉我。
现在给我我的业力 ;)
关于php - 如何重定向通过 screen -d -m 调用的 PHP 进程的 STDOUT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21642042/