
次の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/myservice
一時的なユニットで実行されるだけなので、ユニットは ではrun-rac9ffa945b374f2fa8a8273567427005.service
なくと呼ばれますmyservice.service
。
を実行するには/etc/systemd/system/myservice.service
、 を使用しますsystemctl start myservice.service
(systemctl daemon-reload
ユニット ファイルを書き込んだ直後の場合は を実行した後)。