Например:
#!/bin/sh
#
# is_present_prog.sh <progname>
#
# Ищем по имени в процессах и выделяем PID (может быть несколько)
pids=`ps -ax | grep $1 | cut -d' ' -f 2`
# Хотя, выделять PID, для твоей задачи было бы необязательно :)
# Заодно, время:
ttime=`date`
# Обрабатываем полученное --
# Проверяем на пустоту:
if [ -z '$pids' ]; then
# если пусто -- шлём письмо:
echo "$ttime Not found $1" | mail -s "Not found $1" you@your_adress
fi
#
Просто.
Не знаю, зачем именно по PID'у сечь, можно так:
PROG="program"
$PROG
echo "$PROG died with $? exit status." |
mail -s "$PROG died" root@localhost
Если очень нужен PID, то можно так:
PROG="program"
$PROG &
PROG_PID=$!
wait $!
echo "$PROG (pid $PROG_PID) died with $? exit status." |
mail -s "$PROG died" root@localhost