#!/bin/sh processlist="/usr/local/clamav/sbin/clamd /usr/bin/spamd" logfile="/var/log/checkprocess.log" pause="1" monitor=true while $monitor do for i in $processlist do proc=`ps -axwww | grep "$i" | grep -v "grep $i" | wc -l | tr -d " "` if [ $proc -lt "1" ] ; then case $i in "/usr/local/clamav/sbin/clamd" ) echo "`date` Restarting Clamd" >> $logfile echo "`date` Restarting Clamd" /usr/local/clamav/sbin/clamd ;; "/usr/bin/spamd" ) echo "`date` Restarting Spamd" >> $logfile echo "`date` Restarting Spamd" /usr/bin/spamd -u mta -d ;; esac fi proc="" done sleep $pause done # end