#!/bin/sh INITSCRIPT=/etc/rc1.d/S50fonsmcd DAEMON=fonsmcd LOOP=true SECONDS=0 DELAY=20 pid_test() { PID=$(pidof $DAEMON) if [ -z "$PID" ]; then # no pid, daemon is dead return 1 fi return 0 } # monitoring loop. loop() { #trap quit SIGINT SIGTERM SIGHUP SIGKILL while [ $LOOP = "true" ] ; do sleep 1 SECONDS=$(expr $SECONDS + 1) if [ "$SECONDS" = "$DELAY" ]; then SECONDS=0 pid_test [ $? == 1 ] && $INITSCRIPT start && continue fi done exit 0 } loop