lunedì 26 aprile 2010

Mantenere un programma in esecuzione

Capita che dobbiate utilizzare un programma 24 ore su 24 ma che questo, per qualche motivo, ogni tanto si chiuda. Potete usare supervise, una utility contenuta nei daemontools (vedremo come in un altro post), ma vediamo che e' possibile anche con un semplice script (in questo esempio proccheck.sh) in cui dovete sostituire nome_servizio con il nome del processo da controllare:
progname=nome_servizio
if [ "$(/sbin/pidof $progname)" = "" ]
then
  /etc/init.d/nome_servizio start
else
  echo nome_servizio is running OK
fi
Se il processo e' in esecuzione viene visualizzato un messaggio tranquillizzante, altrimenti viene fatto partire. Per essere veramente efficace, lo script deve essere lanciato da crontab con la seguente linea:
*/15 * * * * /usr/local/bin/proccheck.sh 2>&1 > /dev/null

1 commento:

Lorenzo ha detto...

finalmente un modo semplice per risolvere un problema fastidioso.
grazie

l.