【发布时间】:2012-09-29 01:27:05
【问题描述】:
已经有几个关于此的问题,但似乎没有一个有效。我有一个生产系统当前处于关闭状态,我需要能够快速从守护程序获取 stderr 输出以对其进行调试。
我以为我可以将输出从它被调用的地方重定向(在 init.d 脚本中),但事实证明这非常困难。
start-stop-daemon -d $DDIR -b -m --start --quiet -pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS > /var/log/daemon.log 2>&1 \
|| return 2
这不起作用。我尝试运行一个调用可执行文件并重定向输出的 shell 脚本,但日志文件仍然为空(我知道该进程正在输出信息)。
任何帮助将不胜感激。
【问题讨论】:
-
你不能改进你的守护进程的源代码来使用
syslog(3)设施吗? AFAIKstart-stop-daemon就像daemon(3)和noclose=0所以关闭stdout和stderr(将它们重定向到/dev/null) -
This 似乎工作......
标签: linux bash logging debian start-stop-daemon