在屏幕上启动程序时记录标准输出和标准错误
Log stdout & stderr when program is started in screen
我成功地将程序输出的 stdout/stderr 记录添加到文件中。
但是当我从 screen
启动程序时,日志文件是空的,因为它只记录来自 screen
的消息,而不是来自 运行ning 在后台 [=] 10=].
请用任何方法解决这个问题或其他解决方案,这样我就可以 运行 一个带有 stdout/stderr 日志记录的可分离程序,类似于 screen
?
当前启动行:
screen -A -m -d -S test ./testserver -config=config.cfg -filepatching -autoinit 1>>"./log_$(date +%s).txt" 2>> "./log_$(date +%s).txt"
问题是,您需要封装您的命令。现在 1>>"./log_$(date +%s).txt" 2>>"./log_$(date +%s).txt"
适用于屏幕本身,nit 执行的程序。
试试这个:
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"'
我成功地将程序输出的 stdout/stderr 记录添加到文件中。
但是当我从 screen
启动程序时,日志文件是空的,因为它只记录来自 screen
的消息,而不是来自 运行ning 在后台 [=] 10=].
请用任何方法解决这个问题或其他解决方案,这样我就可以 运行 一个带有 stdout/stderr 日志记录的可分离程序,类似于 screen
?
当前启动行:
screen -A -m -d -S test ./testserver -config=config.cfg -filepatching -autoinit 1>>"./log_$(date +%s).txt" 2>> "./log_$(date +%s).txt"
问题是,您需要封装您的命令。现在 1>>"./log_$(date +%s).txt" 2>>"./log_$(date +%s).txt"
适用于屏幕本身,nit 执行的程序。
试试这个:
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"'