Wenn man einen Dienst überwachen und ihn, wenn er nicht läuft, neu starten will, dann ...

eine Datei mit folgendem Inhalt anlegen und

#!/bin/sh
SERVICE='was auch immer'
LOGGER="/usr/bin/logger -t `basename $0`[$$]"

{
  if ps ax | grep -v grep | grep -v `basename $0` | grep $SERVICE > /dev/null;
  then
    #       logger -i -t restart_openvpn_speeddrive.sh -- $SERVICE läuft -- noch
    echo $SERVICE " läuft noch"
  else
    #       logger -i -t restart_openvpn_speeddrive.sh -- $SERVICE down, restart
    echo $SERVICE " down -> restart"
    /etc/init.d/dienstxyz restart
  fi
} | $LOGGER

jetzt noch

chmod +x

dieses Script schaut sich die laufenden prozesse an und startet, wenn es nichts findet /etc/init.d/dienstxyz neu durch

am Besten eintragen in die crontab und dann läuft es