Установите программу Python как systemd сервис

Я сделал программу для входа определенной системной статистики, и я хотел бы запустить ту программу как сервис Linux, таким образом, я могу легко справиться, это (запустите, остановитесь, и т.д.). Я провел часы, исследуя и пробуя вещи, но я, может казаться, не получаю свой systemd сервисный файл, настроенный правильно.

До сих пор у меня есть это в моем сервисном файле: (clopper мое имя пользователя, resourciter является моим названием программы Python),

[Unit]
Description=Simplified Resourciter logger service
After=syslog.target

[Service]
Type=simple
User=clopper
Group=clopper
WorkingDirectory=/home/clopper/resourciter/
ExecStart=/usr/bin/python3 /home/clopper/resourciter/runMonitor.py
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

Но я продолжаю иметь эту ошибку, когда я пытаюсь запустить сервис:

pam_unix(sudo:auth): auth could not identify password for [clopper]

Я, может казаться, не нахожу категорическую ссылку о входах и выходах конфигурирования systemd сервисного файла.

Какие-либо идеи?

1
задан 16 August 2018 в 05:39

1 ответ

Похож на Ваш сценарий Python, пытается использовать sudo выполнить команды как корень.

Это не будет действительно работать из поля при запущении скрипта как услуга, так как нет никакого терминала, присоединенного к сценарию, таким образом, sudo не будет иметь способа попросить пароль позволять Вашему сценарию выполнять команду как корень.

Существуют способы настроить sudo к командам выполнения, не запрашивая пароль и не требуя, чтобы терминал был присоединен... Но прежде чем мы идем тем путем, был бы Вы рассматривать запущение Вашего целого скрипта как корень вместо этого и не использование sudo в нем? Это упростило бы вещи...

2
ответ дан 7 December 2019 в 13:22

Другие вопросы по тегам:

Похожие вопросы: