web-dev-qa-db-fra.com

Tentative de configuration du service utilisateur systemd: Loaded: introuvable (Raison: aucun fichier ou répertoire de ce type)

J'essaie de créer un service tilisateur systemd qui exécute un script python - cependant, lorsque j'essaie de démarrer le service avec systemctl --user start shadesmath, puis je fais systemctl status shadesmath, Je reçois:

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

Voici le contenu de mon fichier shadesmath.service, qui a été placé dans ~/.config/systemd/user/shadesmath.service avec les autorisations 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

J'ai essayé de lancer systemctl --user enable shadesmath, qui a créé un lien symbolique vers le service dans ~/.config/user/systemd/default.target.wants, mais cela ne semble rien changer lorsque j'essaie de démarrer le service.

C'est la première fois que j'essaie d'utiliser systemd. Il est donc probable que je sois stupide, mais je ne peux pas comprendre le problème. Toute indication sur la façon de mettre cela en place serait très appréciée. Mon objectif est d'avoir un service qui exécute ce script python et de le réexécuter au démarrage/si le script se termine ou se bloque. Idéalement, je souhaite que ce soit un service utilisateur, car je ne le souhaite pas. cela fonctionne en tant que root.

2
mxbi

Après avoir créé ou modifié le fichier d'unité, vous devez demander à Systemd de le recharger:

systemctl --user daemon-reload

Cela explique pourquoi un redémarrage l’a corrigé pour @noraj.

2
Thomas

J'ai eu le même problème; se déconnecter et revenir en arrière n'a pas fonctionné, mais la réponse était très simple: il suffit de redémarrer.

2
noraj