Hier soll nicht wirklich alles dargestellt werden was in einer Systemdatei abgebildet werden kann, das würde hier den Rahmen sprengen. Für euch sollte die u.a. Infos für den Einstieg bzw. für das schnelle durchstarten beim Verständniss dienen. Ich verwende hier ein Debian mit Version 8. Solltet Ihr eine andere Linux Distribution verwenden kann es durchaus kleinere Abweichungen geben.
Service Typen
Es gibt folgende Typen;
- simple
- forking
- oneshot
- dbus
- notify
- idle
In den meisten Fällen reicht der Type simple. Wenn man einen Dienst hat der Multithreading unterstützt dann verwendet forking. Weiter Infos findest du hier.
Umgebung für den Dienst
Dein Dienst brauch natürlich bestimmte Umgebungsbedingungen. Diese Bedingungen werden durch folgend Einstellungen in der Servicedatei eingerichtet:
- WorkingDirectory
- RootDirectory
- User
- Group
- UMask
- Evironment
- und viele andere 🙂
Loggen ist durchaus auch möglich. Willst du mehr Infos schau bitte hier nach.
Dienstabhängigkeiten
Dein Dienst benötigt vieleicht andere Dienste um erfolgreich zu funktionieren. Gerade wenn der Dienst automatisch startet während das System hochfährt. Dafür gibt es die beiden Einstellungen:
- After= welcher Dienst muss vorher gestartet sein
- WantedBy= normalerweise steht hier der Runlevel
Zusammenfassung
Und jetzt alles zusammen:
# Contents of /etc/systemd/system/myservice.service
[Unit]
Description=My Service
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/myservice
[Install]
WantedBy=multi-user.target
Dienste steuern
Nachdem du die Systemdatei abgespeicher hast musst du den Daemon systemd reloaden.
sudo systemctl daemon-reload
Willst du deinen Dienst beim Hochfahren des Systems starten, must du Ihn einschalten.
sudo systemctl enable myservice.service
Mit start kannst du deinen Dienst starten mit stop kannst du Ihn stoppen.
sudo systemctl start myservice
sudo systemctl stop myservice
Willst du sehen wie es deinem Dienst geht, benutze status:
sudo systemctl status myservice
Das wars für alles ander hilft die man Page tippe einfach man systemctl.
0 Kommentare