Service unter Linux erstellen
Ein eigenes Script als Linux-Service laufen zu lassen, ist nicht schwer.
Wir kennen viele Services unter Linux. Den SSH-Service, oder den Bluetooth-Service zum Beispiel.
Diesmal will ich mir einen Service erstellen, der beobachtet, welche Smartphones sich in der Nähe befinden. Dieser Service darf nicht abstürzen. Er soll also, falls er aus irgendeinem Grund nicht mehr läuft, neu gestartet werden.
Was brauchen wir?
Es ist eigentlich nicht viel. Ich habe es folgendermaßen realisiert:
- Eine Service-Datei:
/etc/systemd/system/check_probe_reqs.service
:
- Das Script selbst unter
/usr/local/bin/check_probe_reqs
:
- Den neuen Service starten
sudo systemctl daemon-reload
sudo systemctl enable --now check_probe_reqs
Fertig!
Falls wir nun wissen wollen, ob der Dienst läuft, können wir wie gewohnt mit systemctl status check_probe_reqs
nachfragen, ob alles ordnungsgemäß funktioniert:
Was ist nun der Nutzen?
Ich zeichne nun erstmal die WLAN-Events auf, und beobachte in welchem Zusammenhang andere Ereignisse damit stehen.
In der Hausautomation kann ich dann Regeln schreiben, die mir zum Beispiel mitteilen, ob der Postbote mit seinem Lesegerät in der Straße ist. Wir bekommen auch von einem Bauernhof Waren geliefert. Ich möchte ihn da nicht lange aufhalten. So kann ich ihm quasi entgegenkommen, sobald ich bemerke, dass sein Auto vorfährt...
Meine nächste Verbesserung wird wohl der bereits beschriebene Auto-Unlock Mechanismus meines Laptops werden...
Fazit
Ich habe es früher immer für sehr kompliziert gehalten, solche Eingriffe ins System vorzunehmen. Wenn man in der Lage ist, sein eigenes Tool zu schreiben, sollte die Erstellung eines Services daraus ebenso leicht fallen.