明確呼叫 systemd 服務不考慮環境文件

明確呼叫 systemd 服務不考慮環境文件

我有以下systemd單元文件

$ cat /etc/systemd/system/myservice.service

[Unit]
Description = My Service

[Service]
ExecStart = /bin/sh -c 'exec /usr/local/bin/myservice [arguments] >>/var/log/myservice/log.log 2>>/var/log/myservice/err.log'
EnvironmentFile = /etc/myservice/config
User = someuser
Group = somegroup

[Install]
WantedBy = multi-user.target

鑑於我的日誌systemd已經很舊了,我正在使用重定向格式 ( 232)

我想透過呼叫此服務,systemd run所以我正在輸入

sudo systemd-run myservice
Running as unit: run-rac9ffa945b374f2fa8a8273567427005.service

然而我在執行日誌中看到

a)EnvironmentFile = /etc/myservice/config根本不考慮

b) 沒有建立日誌/var/log/myservice/

這些問題有意義嗎?

答案1

systemd-run不啟動 中指定的服務,它只是在瞬態單元中/etc/systemd/system/myservice.service運行,這就是為什麼該單元被稱為,而不是。/usr/local/bin/myservicerun-rac9ffa945b374f2fa8a8273567427005.servicemyservice.service

要運行/etc/systemd/system/myservice.service,請使用systemctl start myservice.servicesystemctl daemon-reload如果您剛剛編寫了單元文件,則在運行後)。

相關內容