我在syslog-ng
带有以下upstart
脚本的 Ubuntu Lucid 机器上使用:
# syslog-ng - system logging daemon
#
description "Syslog-ng daemon"
start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
expect fork
respawn
pre-start script
test -x /usr/sbin/syslog-ng || { stop; exit 0; }
mkdir -p -m0755 /var/run/syslog-ng
end script
exec /usr/sbin/syslog-ng -p /var/run/syslog-ng/syslog-ng.pid
当syslog-ng
配置文件错误时,syslog-ng
在 stderr 上输出错误信息。不幸的是,这个错误被 upstart 捕获,并且在启动服务时没有到达控制台,因此无法知道服务启动失败的原因。
新贵会抓住标准错误是否正常?可以设置吗?
这记录在
init(5)
; 您可以将以下行添加到您的/etc/init/syslog-ng.conf
以查看输出:或者,当您将以下内容添加到内核引导参数时,您可以看到所有新贵脚本的输出:
您可以通过在启动过程中编辑 grub 菜单中的参数来临时执行此操作,或者(更多)通过编辑
/etc/default/grub
并将其添加到 来永久执行此操作GRUB_CMDLINE_LINUX
,然后再运行update-grub
.如需更多信息和最佳实践,请参阅The Upstart Cookbook。
如果标准输出通过你可以做的是。这会将标准错误传送到标准输出,这应该可以解决您的问题。:)