#!/bin/bash# check daemonps -ef | grep -v grep | grep daemon# if not found - equals to 1, start itif [ $? -eq 1 ]then/sbin/init.d/daemon startelseecho "eq 0 - daemon found - do nothing"fi
Това го слагаш във крона да върти през 10 сек.
while 1do/do/your/scriptsleep 1done
#!/bin/shprefix=/usr/local/exec_prefix=${prefix}logdir=${prefix}PATH=${exec_prefix}/bin:/bin:/usr/bin:/sbin:export PATHprogrambinary="/usr/local/bin/spamd"programstart="/usr/local/etc/rc.d/sa-spamd start"startProgram () { echo "Running: $programstart" echo "Startup: `date`" >> /var/log/spamd_watch.log $programstart >> /var/log/spamd_watch.log 2>&1 &}testProgram () { Program="true" ps -ax|grep -v grep|grep $programbinary >> /dev/null if [ $? -eq 1 ] ; then Program="false" fi export Program}failcount=0start=`date '+%s'`while : ; do testProgram if [ $Program = "false" ]; then laststart=$start start=`date '+%s'` startProgram t=`expr $start - $laststart` if test 0 -le $t -a $t -lt 15 ; then failcount=`expr $failcount + 1` else failcount=0 fi if test $failcount -gt 5 ; then echo "RunProgram: EXITING DUE TO REPEATED, FREQUENT FAILURES" >&2 exit 1 fi fi sleep 30done