web-dev-qa-db-ja.com

ユーザーsystemdサービスをセットアップしようとしています:Loaded:not-found(理由:No such file or directory)

私はuserpythonスクリプトを実行するsystemdサービスを作成しようとしていますが、systemctl --user start shadesmathでサービスを開始しようとすると、そしてsystemctl status shadesmathを行うと、私は得る:

● shadesmath.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

以下は、shadesmath.serviceファイルの内容です。このファイルは、~/.config/systemd/user/shadesmath.serviceに許可744で配置されています。

[Unit]
Description=ShadesMath
AssertPathExists=/home/mikel/bots/mathbot/mathbot

[Service]
WorkingDirectory=/home/mikel/bots/mathbot/mathbot
ExecStart=/home/mikel/anaconda3/bin/python bot.py parameters.json
Restart=always

[Install]
WantedBy=default.target

systemctl --user enable shadesmathを実行してみました。これにより、~/.config/user/systemd/default.target.wantsのサービスへのシンボリックリンクが作成されましたが、サービスを開始しようとしても何も変わらないようです。

Systemdを使おうとするのはこれが初めてなので、たぶんばかげたことをしている可能性がありますが、問題が何であるかわかりません。これを設定する方法についてのポインタは大歓迎です。私の目標は、このpythonスクリプトを実行するサービスを用意し、起動時にスクリプトを再実行することです。スクリプトが終了またはクラッシュした場合、理想としては、これをユーザーサービスにしたいのです。これはルートとして実行されます。

2
mxbi

ユニットファイルを作成または変更した後、systemdにリロードするように指示する必要があります。

systemctl --user daemon-reload

これが、@ norajの再起動によって修正された理由を説明しています。

2
Thomas

同じ問題がありました。ログアウトとログインは機能しませんでしたが、答えは非常に簡単でした。再起動するだけです。

2
noraj