Da ich es gerade bei mir eingebaut habe, wollte ich noch einige Änderungen anmerken. Man kann das Script universell einsetzen, wenn man den service als variabel gestaltet, und auch der start sollte eher via /etc/init.d gemacht werden. dann ist es egal wo oscam liegt Das done ist zu viel im script.
damit Sieht das Script bei mir so aus:
#!/bin/sh
service=oscam
if ps x | grep -v grep | grep -c $service >/dev/null
then
echo "$service läuft"
else
echo $(date '+%Y_%m_%d_%H:%M') "$service wurde neugestartet" >> /usr/local/etc/crash.log
killall -9 $service
sleep 1
/etc/init.d/$service start
fi