#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin workdir=/root [[ ! -r $workdir/processes.list ]] && echo error: cannot read $workdir/processes.list && exit 1 for process in `grep --no-filename -vE '^#|^$' $workdir/processes.list $workdir/processes.local.list 2>/dev/null | sort -u`; do # reduce to 15 chars process=`echo -n $process | head -c15` pgrep $process >/dev/null if (( $? == 0 )); then echo [OK] process $process is up else echo [WARNING] process $process is down (( warn = 1 )) fi done; unset process (( warn == 1 )) && exit 1 || true