Ich habe ein einfaches Skript mit cron verwendet, um sicherzustellen, dass das Programm läuft. Wenn dies nicht der Fall ist, wird es gestartet. Dies ist vielleicht nicht die perfekte Lösung, nach der Sie suchen, aber sie ist einfach und funktioniert recht gut.
#!/bin/bash
#make-run.sh
#make sure a process is always running.
export DISPLAY=:0 #needed if you are running a simple gui app.
process=YourProcessName
makerun="/usr/bin/program"
if ps ax | grep -v grep | grep $process > /dev/null
then
exit
else
$makerun &
fi
exit
Fügen Sie dann jede Minute oder alle 5 Minuten einen Cron-Job hinzu.
Monit ist perfekt dafür :)
Sie können einfache Konfigurationsdateien schreiben, die Monit anweisen, z. ein TCP-Port, eine PID-Datei usw.
monit führt einen von Ihnen angegebenen Befehl aus, wenn der überwachte Prozess nicht verfügbar ist / zu viel Speicher verwendet / die CPU zu lange belastet / etc. Es wird auch eine E-Mail-Benachrichtigung angezeigt, die Sie darüber informiert, was passiert ist und ob es etwas dagegen tun kann.
Wir verwenden es, um eine Vielzahl unserer Websites am Laufen zu halten und uns frühzeitig zu warnen, wenn etwas schief geht.
-- Ihr treuer Angestellter, Monit