php - 如何重定向通过 screen -d -m 调用的 PHP 进程的 STDOUT?

标签 php linux logging stdout gnu-screen

我正在使用 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/

相关文章:

linux - 从内核线程为用户空间分配内存

java - Log4j配置: How to create a new folder for each day?

php - JQUERY:我如何知道该元素当前是否打开/关闭(slidetoggle)

php - SyntaxError : JSON. 解析:意外字符

linux - 在 Linux 中存储常用命令

mysql - 将命令输出重定向到 mysql

c++ - 从用户模式使用 WPP 的事件跟踪,使用 Visual Studio 的 native 应用程序

python-3.x - mode = 'w' 仅适用于logging.FileHandler,但不适用于logging.handlers.RotatingFileHandler

php - 我如何访问父文件夹php中的文件夹或文件

php - 上传非常大的文件(> 5GB)