Eine gute Nachricht, ich habe den systemd zum Laufen bekommen
Hier ist meine Vorgehensweise für die, die auch das erste Mal einen service anlegen wollen oder müssen:
Ziel: Automatischer Programmstart beim booten mit neuer systemd -Funktion !
systemd-service-Datei counter.service anlegen in /lib/systemd/system
kein ausführbar! chmod -x !
nur lesen chmod 444 !
Eigentümer: root:root !
sieht dann so aus.
-r--r--r-- 1 root root 688 Feb 04 11:18 counter.service
Inhalt von counter.service
_______________________________________
[Unit]
Description= Wasserzaehler
After=multi-user.target
[Service]
ExecStart=/home/pi/counter/water.py
[Install]
WantedBy=multi-user.target
______________________________________
Description dient als Info, freie Eingabe
ExecStart ist /Pfad/Name des Programms
Python-Programm fertig! Endung .py
shebang 1.Zeile > #!/usr/bin/env python3 eingeben
Rechte hatte ich auf root:root gesetzt
Ausführbar mit > sudo chmod +x Dateiname.py
mit dem systemctl-Befehl enable den service anlegen:
pi@rpizeroCamera:/lib/systemd/system $ sudo systemctl enable counter
Antwort:
Created symlink /etc/systemd/system/multi-user.target.wants/counter.service → /lib/systemd/system/counter.service.
rpi neu starten:
pi@rpizeroCamera:/lib/systemd/system $ sudo reboot now
pi@rpizeroCamera:/lib/systemd/system $ Connection to 192.168.1.149 closed by remote host.
Connection to 192.168.1.149 closed.
F E R T I G
--------------------------------------------
wie stoppe ich den systemd service wieder?
mit: sudo service counter stop
Hinweis: rpi nimmt an, dass ein .service gemeint ist also > counter.service
Wenn der counter.service gestoppt ist, kann die Programm-Datei, z.B. /home/pi/rpi/water.py geändert werden,
es wird bei Neustart des service neu geladen. Damit kann man Änderungen ohne Probleme einbringen.
starten: sudo systemctl counter start
Status abfragen: sudo systemctl counter status
(Wie immer ohne Gewehr - ich übernehme keine Verantwortung für instabile Systeme)