Я пытаюсь сделать пользователя systemd сервисом, который запускает скрипт Python - однако, когда я пытаюсь запустить сервис с 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, и повторно выполнять ее на запуске/если концы сценария или катастрофические отказы - идеально я хочу, чтобы это было пользовательским сервисом, поскольку я не хочу это выполнение как корень.
После создания или изменения файла единицы, необходимо сказать systemd перезагружать его:
systemctl --user daemon-reload
Это объясняет, почему перезагрузка зафиксировала его для @noraj.
У меня была та же проблема; выходить из системы и въезжает задним ходом, не работал, но ответ был очень прост: просто перезагрузка.