2014-11-06 69 views
3

在Ubuntu 14.04中对/dev/kmsg进行更改后,我不确定是否将干净的脚本从STDOUT/STDERR引导到syslog中。原剧本是这样的:从upstart直接输出到系统日志

script 
    exec &> /dev/kmsg 
    cd /var/www/app 
    exec bin/puma -C config/puma.rb 
end script 

我发现在管道中的EXEC行内一个相当可行的替代方案:

script 
    cd /var/www/app 
    exec bin/puma -C config/puma.rb | logger -t puma 
end script 

这实现了精确的结果,我想,但它留下暴发户与错PID。而不是我想要的过程的PID(美洲狮)它有记录器的PID代替。

到目前为止,我已经试过修改exec &>调用管替代:

exec 2>&1 | logger 
exec -| logger 
exec |& logger 

是否有语法变种我失踪?是否有可以直接导入的其他描述符?谢谢!

+0

我的主要参考已经http://www.tldp.org/LDP/abs/html/io- redirection.html – 2014-11-07 15:39:32

+0

将日志记录到文件并配置syslog来读取该文件是一个可行的选项? – 2014-11-07 18:58:20

+0

它会的,但我真的很好奇,如果这是真的可能。我没有看到exec指向fd与指向管道的区别。 – 2014-11-07 23:22:47

回答