Bash: watch als Prozessüberwacher mißbrauchen

Oftmals hat man das Problem, daß Daemons unter Linux abstürzen und es keinen Masterprozess gibt, der sowas überwacht und neustartet.

Die Daemontools von DJB hatten da eigens so ein Überwachungsprogramm, aber im Prinzip ist so ein Tool nichts anders als eine Endlosschleife, die einfach nur den gestorbenen Prozess neustartet:

for(…) { run(„serverdaemon“); }

Anstatt jetzt jedesmal so ein Loopprogramm zuschreiben, wäre ja etwas universelles gut, oder ? 🙂

Einfach watch benutzen : watch -n 0,1 „… bashzeile zum starten…“

Das könnte dann so aussehen :

#!/bin/bash

watch -n 0,1 „/usr/bin/meinserverdaemon profile.one -s targetmode -p 887“

Leider kann man ja init.d und systemctl Starts nicht in eine Schleife legen, da diese Prozesse die eigentlich zu startenden Programme absplitten.

Zum Stoppen muß man nun allerdings erst das Watch und dann den Serverdaemon stoppen, sonst hat man mit Zitronen gehandelt.