Anleitung: Raspberry (Jessie) IPS neustart nach Dienst-Crash

Thema ist, das ab und zu der Symcon Dienst auf den Raspi abschmiert. Das liegt vermutlich an meiner vielen Bastelei. Nun wollte ich aber, dass der Dienst automatisch neustart, wenn er abschmiert. Da im Debain (jessie) con init.d auf systemd gewechselt wurde, klappt die Datei inittab nicht mehr. Ich habe also den Symcon Dienst auf systemd umgestellt und den Neutart eingebaut.
Da ich kein Linux Profi bin, gibt es bestimmt Verbesserungspotential, aber es klappt schon mal.

Zuerst muss der „alte Dienst deaktiviert werden“

update-rc.d symcon disable

Danach erstellt man eine neue Datei:

sudo nano /etc/systemd/system/symcon.service

diese Datei funktioniert bei mir mit folgendem Inhalt:

[Unit] 
Description=Symcon Server 
 
[Service] 
TimeoutStartSec=10 
User=root 
ExecStart=/usr/bin/symcon service > /dev/null 
Restart=on-failure 
RestartSec=2 
KillMode=process
 
[Install] 
WantedBy=multi-user.target

Strg+x dann J nun ist die Datei gespeichert.
zum aktivieren des Dienstes nun noch den Befehl

sudo systemctl enable service.service

Das erzeugt einen Symlink im Ordner:

/etc/systemd/system/multi-user.target.wants/

der sieht bei mir so aus:

lrwxrwxrwx 1 root root 34 Sep 20 19:39 symcon.service -> /etc/systemd/system/symcon.service

Dann den Daemon-Dienst neu starten und Symcon-Dienst starten

sudo systemctl daemon-reload 
sudo systemctl restart symcon.service

Wenn ihr jetzt den Server neu startet

sudo reboot

Kann man sich die Prozesse anzeigen lassen. Ich finde htop super dafür. Den kann man sich nachinstallieren:

sudo apt-get install htop

Nun vielleicht in einer neuen SSH Session mal folgenden Befehl eingeben:

ps -ef | grep symcon

Hier kann man die PID vom Symcon Dienst sehen
3d248613706f85f8eb656412fc36d4d9.PNG
in diesem Beispiel die 373. Jetzt einfach mal den Dienst abschiessen mit folgenden Befehl und die Prozesse in der zweiten Session im Auge behalten:

sudo kill -9 373

Nach 2-4 Sekunden ist der Symcon Dienst wieder oben.

Hallo Muffeljupp,

ich habe es nach Deiner Anleitung ausprobiert.
Nach dem Reboot ist bei mir die erstellte Datei /etc/systemd/system/symcon.service" und auch der Link in …/multi-user.target.wants nicht mehr vorhanden.

Bei deaktivieren des „alten“ Dienstes und bei aktivieren des neuen Dienstes bekomme ich diverse insserv:warning: Meldungen. Kann das etwas damit zu tun haben?

Gruß

Frank

Cool danke , aber ich würde noch einbauen, das man es beenden kann, weil sonst hast du ein Problem beim updaten…