J'ai créé un nouveau service pour un script Python qui fonctionne lors de l'exécution autonome mais donne des erreurs ci-dessous lors de l'exécution via systemd:
Oct 02 12:17:09 raspberrypi systemd[1]: Started Read pressure And Post to mqtt.
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Main process exited, code=exited, status=203/EXEC
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Unit entered failed state.
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Failed with result 'exit-code'.
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Service hold-off time over, scheduling restart.
Oct 02 12:17:09 raspberrypi systemd[1]: Stopped Read pressure And Post to mqtt.
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Start request repeated too quickly.
Oct 02 12:17:09 raspberrypi systemd[1]: Failed to start Read pressure And Post to mqtt.
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Unit entered failed state.
Oct 02 12:17:09 raspberrypi systemd[1]: ReadPressure.service: Failed with result 'exit-code'.
Le service a été créé dans "etc/systemd/system/ReadPressure.service. Il dispose de droits exécutables.
Les services ressemblent à:
[Unit]
Description=ReadPressure
[Service]
ExecStart=/bin/bash -c 'python3 -u /home/pi/ReadPressure/ReadPressure2AndPostToMqtt.py'
WorkingDirectory=/home/pi/ReadPressure/
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
Des idées pourquoi je reçois les erreurs? Le système d'exploitation est Raspbian.
Merci
Essayer
pi@raspberrypi:~ $ systemctl status ReadPressure.service
Paraphraser @Ingo de je n'arrive pas à démarrer un programme python dans Thonny au démarrage
Le message d'erreur (code = exit, status = 203/EXEC) apparaît souvent lorsque le script lui-même ou son interpréteur ne peut pas être exécuté.
Cela pourrait avoir ces raisons:
mauvais chemin vers le script (par exemple /home/py/ReadPressure2AndPostToMqtt.py)
script non exécutable
pas de Shebang (première ligne)
mauvais chemin dans Shebang (par exemple/bin/python3)
les fichiers internes de votre script peuvent ne pas avoir les autorisations d'accès.
Vous devrez peut-être citer votre commande, par exemple:
ExecStart="/bin/bash -c 'python3 bla blah'"