我知道我可以将busybox配置为使用klogd
(CONFIG_KLOGD
)构建,而且它可以在开箱即用。
不过,我想知道是否可以通过命令行开关或syslog-startup.conf选项在运行时启用/禁用此功能,而无需重新编译busybox。
提前谢谢。
发布于 2018-01-15 17:12:28
好吧,我真的宁愿有其他人的回应,但既然没有其他人来,我认为我自己的解决方案比没有解决方案好,以防别人需要它。
我已经深入了解了源代码,似乎没有命令行开关或配置选项来选择性地启用/禁用klogd
。
不过,init脚本提供了一种非常好的方法。
1. syslogd和klogd的开始/停止是分隔行:
start)
echo -n "Starting syslogd/klogd: "
start-stop-daemon -S -b -n syslogd -a /sbin/syslogd -- -n $SYSLOG_ARGS
start-stop-daemon -S -b -n klogd -a /sbin/klogd -- -n
echo "done"
现在最丑陋的想法是,如果不启动klogd
,只需对这一行进行评论。
/etc/syslog-startup.conf
是由/etc/init.d/syslog
简单地在start)
案例之前提供的:(基本上是脚本中的第一件事)
if [ -f /etc/syslog-startup.conf ]; then
. /etc/syslog-startup.conf
好的,我可以向/etc/syslog-startup.conf
添加一个变量,我可以在init脚本中进行测试,以有选择地启用/禁用start-stop-daemon ... klog
。
start)
echo -n "Starting syslogd/klogd: "
start-stop-daemon -S -b -n syslogd -a /sbin/syslogd -- -n $SYSLOG_ARGS
[ "$KLOGD_DISABLE" = "yes" ] || \
start-stop-daemon -S -b -n klogd -a /sbin/klogd -- -n
echo "done"
由于我正在向一个配置文件中添加一个非标准变量,它仍然很难看,但我觉得它不像第一个那样难看,所以这就是我建议的解决方案。
https://stackoverflow.com/questions/48227620
复制相似问题