![upstart、exec 和 stderr](https://linux22.com/image/956146/upstart%E3%80%81exec%20%E5%92%8C%20stderr.png)
我在 Ubuntu Lucid 机器上使用syslog-ng
以下upstart
脚本:
# 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 捕获,并且在启动服务时不会到达控制台,因此无法知道服务启动失败的原因。
upstart 捕获 stderr 是正常现象吗?可以设置吗?
答案1
答案2
如果 stdout 能够通过,您可以做的是。将 stderr 通过管道传输到 stdout,这应该可以解决您的问题。:)
syslog-ng 2>&1