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

Wie verwendet man Systemd, um einen Dienst neu zu starten, wenn er ausgefallen ist?

Wenn Sie eine systemd-Dienstdatei verwenden, um Ihren Dienst zu starten, fügen Sie Ihrer Dienstdatei die folgenden Zeilen hinzu, von wo aus Sie Ihren Dienst starten:

[Service]
Type=simple
ExecStart=here will be your service executable name
Restart=always
RestartSec=0
  • Restart=

    Konfiguriert, ob der Dienst neu gestartet werden soll, wenn der Dienstprozess beendet, beendet oder ein Timeout erreicht wird. Akzeptiert einen der folgenden Werte:no , on-success , on-failure , on-abnormal , on-watchdog , on-abort oder always . Wenn auf no gesetzt (Standardeinstellung).

  • RestartSec=

    Konfiguriert die Ruhezeit vor dem Neustart eines Dienstes (wie mit Restart= konfiguriert). ). Akzeptiert einen Wert ohne Einheit in Sekunden.

Diese beiden Optionen müssen unter [Service] stehen -Tag in einer Dienstdatei.


Ich habe dafür monit monit verwendet. Ein Beitrag bei askfedoraproject legt mir nahe, dass dies immer noch eine gute Möglichkeit ist, Prozesse zu überwachen und automatisch neu zu starten.

Es bietet eine gute granulare Konfiguration der Überwachungsfunktionen, wie man entscheidet, ob ein Prozess fehlgeschlagen ist, und Maßnahmen, die ergriffen werden müssen, um ihn wiederherzustellen.


Linux
  1. Verwalten Sie den Start mit systemd

  2. So verwenden Sie den Systemctl-Befehl zum Verwalten von Systemd-Diensten

  3. Wie verwendet Systemd /etc/init.d-Skripte?

  4. Wie verwende ich chmod, um die Dateiberechtigung zu ändern?

  5. Wie verwende ich den Linux-Software-Watchdog?

So verwenden Sie den Truncate-Befehl unter Linux

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

So verwenden Sie systemctl unter Linux

So verwenden Sie den Befehl lsof unter Linux

Wie verwende ich gzip unter Linux?

So verwenden Sie den Linux-Befehl shred