Log stdout&程序在屏幕中启动时的stderr

时间:2016-07-25 04:14:37

标签: logging screen stdout stderr

我成功地将程序输出的stdout / stderr的日志记录添加到文件中。

但是当我从screen启动程序时,日志文件为空,因为它只记录来自screen的消息,而不记录screen内后台运行的程序。

请解决此问题或其他解决方案的任何方法,因此我可以使用stdout / stderr日志记录运行可拆卸程序,类似于screen

当前启动线:

screen -A -m -d -S test ./testserver -config = config.cfg -filepatching -autoinit 1>>" ./ log _ $(date +%s).txt" 2>>" ./ log _ $(日期+%s).txt"

1 个答案:

答案 0 :(得分:1)

问题是,您需要封装命令。现在1>>"./log_$(date +%s).txt" 2>>"./log_$(date +%s).txt"适用于屏幕本身,而不是程序执行。

请改为尝试:

screen -A -m -d -S test './testserver -config=config.cfg -filepatching -autoinit 1>>"./log_$(date +%s).txt" 2>>"./log_$(date +%s).txt"'

或者这个:

screen -A -m -d -S test /bin/sh -c './testserver -config=config.cfg -filepatching -autoinit 1>>"./log_$(date +%s).txt" 2>>"./log_$(date +%s).txt"'