我在將程序作爲systemd服務運行時,將STDOUT & STDERR管道傳輸到文件時遇到問題。我試着添加以下的.service
文件:如何將輸出作爲系統服務運行時輸出到文件?
ExecStart=/apppath/appname > /filepath/filename 2>&1
但是,這是行不通的。輸出結果在/ var/log/messages中,可以使用journalctl查看,但我想要一個單獨的文件。
我也試過設置StdOutput=tty
,但找不到將其重定向到文件的方法。
任何幫助,將不勝感激。
謝謝。這有所幫助,但是我發現的底層問題與SELinux無聲地阻止了對我正在嘗試使用的日誌文件夾的寫入操作。 – MichaelB76
有些人可能想用>>替換第一個>追加到日誌文件。 – Zyphrax
注意 - 這會產生兩個進程,一個用於shell包裝,另一個用於appname。要使用'systemctl stop appname'殺死這兩個進程,請在ExecStop中使用pkill。 ExecStop =/bin/pkill -TERM -P $ MAILPID – siliconrockstar