it-swarm.com.de

Versuch, den Benutzersystem-Dienst einzurichten: Geladen: Nicht gefunden (Grund: Keine solche Datei oder kein solches Verzeichnis)

Ich versuche, einen ser systemd-Dienst zu erstellen, der ein python -Skript ausführt. Wenn ich jedoch versuche, den Dienst mit systemctl --user start shadesmath zu starten und dann systemctl status shadesmath ausführe, erhalte ich Folgendes:

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

Hier ist der Inhalt meiner shadesmath.service-Datei, die mit den Berechtigungen ~/.config/systemd/user/shadesmath.service in 744 abgelegt wurde:

[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

Ich habe versucht, systemctl --user enable shadesmath auszuführen, wodurch ein Symlink zu dem Dienst in ~/.config/user/systemd/default.target.wants erstellt wurde. Beim Starten des Dienstes hat sich jedoch anscheinend nichts geändert.

Ich habe zum ersten Mal versucht, systemd zu verwenden, also mache ich wahrscheinlich etwas Dummes, aber ich kann nicht herausfinden, worum es geht. Hinweise zur Einrichtung wären sehr willkommen. Mein Ziel ist es, einen Dienst zu haben, der dieses python Skript ausführt, und es beim Start erneut auszuführen/wenn das Skript beendet wird oder abstürzt - idealerweise möchte ich, dass dies ein Benutzerdienst ist, wie ich es nicht will Dies läuft als root.

2
mxbi

Nachdem Sie die Unit-Datei erstellt oder geändert haben, müssen Sie systemd anweisen, sie neu zu laden:

systemctl --user daemon-reload

Dies erklärt, warum es durch einen Neustart für @noraj behoben wurde.

2
Thomas

Ich hatte das gleiche problem; Ausloggen und wieder einchecken hat nicht funktioniert, aber die Antwort war sehr einfach: einfach neu starten.

2
noraj