2014-11-06 45 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

回答