Použil jsem jednoduchý skript s cronem, abych se ujistil, že program běží. Pokud tomu tak není, spustí jej. Možná to není dokonalé řešení, které hledáte, ale je jednoduché a funguje docela dobře.
#!/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
Potom každou minutu nebo každých 5 minut přidejte úlohu cron.
Monit je na to ideální :)
Můžete napsat jednoduché konfigurační soubory, které řeknou monitu, aby sledoval, např. port TCP, soubor PID atd
monit spustí příkaz, který určíte, když je proces, který monitoruje, nedostupný/využívá příliš mnoho paměti/příliš dlouho fixuje CPU/atd. Zobrazí se také e-mailové upozornění, které vám řekne, co se stalo a zda s tím může něco udělat.
Používáme jej k udržení zátěže našich webových stránek v provozu a zároveň nás včas varuje, když se něco pokazí.
-- Váš věrný zaměstnanec, Monit