我有 Debian Lenny 盒子,我计划在其中广泛使用start-stop-daemon
。问题是,标准 Debianstart-stop-daemon
不支持输出重定向:--stdout
和--stderr
键,我想用它们来记录守护进程活动。
我是否应该start-stop-daemon
从源代码更新?我尝试了apt-get
更新过程,但版本仍然缺少功能。这会破坏 Debian 中的某些功能吗?或者我应该将新版本编译start-stop-daemon
到某个新目录中并将其用于我的守护进程,同时保留标准 Debian 软件包?
我不想.sh
为每个守护进程编写包装脚本,因为它们会有很多。
答案1
通常我建议将您想要的版本从不稳定版本移植到 lenny;只需从不稳定树中获取该包的所有源代码...但是,oof,它在 dpkg 包中,这可能比您想要的还要多。
所以是的,自己编译它并将其放在 /usr/local/bin/ 中,就可以了。
答案2
手册页因为 start-stop-deamon 确实提供了如何重定向 stdout/stderr 的线索,尽管方式有些神秘:
命令行中在 -- 之后给出的任何参数都将不加修改地传递给正在启动的程序。
因此,以下语法允许您使用 start-stop-daemon 重定向 stdout/stderr
OPTIONS=" 1>/dev/null 2>${logfile}"
start-stop-daemon --start --startas /usr/bin/foo -- $OPTIONS
答案3
您是否考虑过为 start-stop-deamon 编写一个 .sh 包装器?
您可以重命名原始的 start-stop-deamon 可执行文件并使用“start-stop-deamon”名称创建 .sh 包装器。