我有一个init.d
将二进制文件作为守护进程运行的脚本。二进制文件定期将状态行写入标准输出。我想将这些行记录到/var/log/my-daemon
.
当开始代码是这样的:
start-stop-daemon -S -x $DAEMON -- $ARGS
然后我运行service my-daemon restart
,然后我在... stdout 上获得日志输出。但显然,我想在后台运行它,并将日志保存到文件中。
我想要这样的东西(受此启发):
start-stop-daemon -S --background -x $DAEMON -- $ARGS >> /var/log/my-daemon 2>&1
但这不会将任何内容记录到日志文件中。从 的手册页中start-stop-daemon
,听起来--no-close
在这里使用是正确的。但我的系统使用start-stop-daemon
Busybox:
BusyBox v1.32.0 () multi-call binary.
Usage: start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...]
哪个似乎不支持-C
or --no-close
。
是否有解决方案,或者我是否需要更改我的初始化系统,因为我无法使用 Busybox 实现我想要的?
注意:以下似乎有效(至少有时),但感觉不对(否则就不需要--background
,对吧?):
start-stop-daemon -S -x $DAEMON -- $ARGS >> /var/log/my-daemon 2>&1 &