Pythonscript unter Ubuntu als Service starten
Posted by wnf on Saturday, 4 May 2019
Oldscool einen Eintrag in /etc/rc.local
oder als Service
Meinen Wetterserver möchte ich als Service starten, so dass ich Programmupdates ohne Reboot des BBB einspielen kann.
Ich benötige zwei Services
- zum Speicher der über MQTT empfangen Daten: wnf_wetter_speicher.service
- zum Anzeigen der Daten: wnf_wetter_http.service
$ sudo nano /etc/systemd/system/wnf_wetter_speicher.service
Da der Service unbedingt eine aktives Netzwerk braucht, wird dieser Service nach dem network-online.target gestartet.
[Unit] Description=wnfWetterSpeichern Wants=network-online.target After=network-online.target syslog.target [Service] Type=simple User=wnf Group=wnf WorkingDirectory=/home/wnf/wnfwetter/ ExecStart=/home/wnf/wnfwetter/wnf_wetter_speicher.py StandardOutput=null StandardError=syslog [Install] WantedBy=multi-user.target
sudo nano /etc/systemd/system/wnf_wetter_http.service
[Unit] Description=wnfWetterHttp After=syslog.target [Service] Type=simple User=wnf Group=wnf WorkingDirectory=/home/wnf/wnfwetter/ ExecStart=/home/wnf/wnfwetter/wnf_wetter_http.py StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target
$ sudo systemctl enable wnf_wetter_speicher.service $ sudo systemctl enable wnf_wetter_http.service $ sudo systemctl daemon-reload $ sudo service wnf_wetter_speicher start $ sudo service wnf_wetter_http start
Literatur