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.

Kategorien: Linux

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese  Website nutzt Cookys. Wenn Du Sie nicht haben willst, klicke hier. Hier klicken um dich auszutragen.