GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Hinzufügen eines neuen Dienstes zu Linux systemd

Da das System V langsam ausläuft, muss man höchstwahrscheinlich lernen, wie man mit SYSTEMD zurechtkommt, das viel leistungsfähiger ist. Eine nützliche Funktion ist beispielsweise das automatische Neustarten von Diensten, die von selbst beendet werden. Solche Features findet man zum Beispiel in BluePill usw. Mit Systemd braucht man keinen solchen extra Watchdog zu verwenden. Hier sind einige sehr grundlegende Informationen zum Erstellen eines neuen Dienstes namens „unit“ unter Systemd in Linux.
Systemd hat seine Konfigurationsdateien in:/etc/systemd/
In diesem Beispiel erstelle ich eine Systemd-Konfigurationsdatei für einen einfachen Dienst namens istatd die den einzelnen Daemon mit dem Befehl starten sollte:/usr/local/bin/istatd -d
Um einen Dienst zu erstellen, den nur Root bedienen kann, sollte seine neue Konfigurationsdatei wie folgt erstellt werden:/etc/systemd/system/istatd.service
touch /etc/systemd/system/istatd.service
chmod 644 /etc/systemd/system/istatd.service

Inhalt:
[Unit]
Description=IStad iPhone monitoring service
#
[Service]
Type=forking
ExecStart=/usr/local/bin/istatd -d
ExecStop=/usr/bin/killall istatd
Restart=on-failure
RestartSec=3
#
[Install]
WantedBy=default.target

Diese Konfigurationsdatei für die Unit istatd startet/stoppt den Daemon und startet ihn neu, wenn er von selbst stoppt, 3 Sekunden, nachdem der Watchdog sein Verschwinden aus der Prozessliste erkannt hat.
Um die neue Konfiguration zu aktivieren und den Dienst zu starten, führen Sie Folgendes aus:
systemctl daemon-reload
service istatd start

Mögliche Befehle für Start/Stopp/Neustart/Status und Debugging sind:
systemctl {start|stop|restart|status} istatd
OR
service istatd {start|stop|restart|status}

Für Systemd-Debugging verwenden Sie den Befehl:
journalctl -xn
Nach allen Änderungen an einer der Systemd-Konfigurationsdateien sollten Sie den folgenden Befehl ausführen:
systemctl enable istatd
systemctl daemon-reload

Weitere Informationen darüber, wie Systemd funktioniert und wie seine Konfigurationsdateien erstellt werden, finden Sie unter:
http://patrakov.blogspot.de/2011/01/writing-systemd-service-files.html
und
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html

Einige andere nützliche Befehle:

Einen Dienst vollständig löschen:
systemctl stop [servicename]
systemctl disable [servicename]
systemctl daemon-reload
systemctl reset-failed


Linux
  1. So erstellen Sie einen Systemd-Dienst unter Linux

  2. So listen Sie Systemd-Dienste unter Linux auf

  3. Linux-Betriebssystemdienst „dhcpd“

  4. Linux-Betriebssystemdienst „anacron“

  5. Linux-Betriebssystemdienst „hplip“

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

Linux-Betriebssystemdienst „ldap“

Linux-Betriebssystemdienst „yppasswdd“

Linux-Betriebssystemdienst „xendomains“

Linux-Betriebssystemdienst „nscd“

Linux-Betriebssystemdienst „Tintenfisch“