如何通过指定进程名称并检查null或PID来获取进程的PID?

时间:2014-09-09 16:15:39

标签: linux shell crontab redhat

如何在linux中指定进程名来检查进程ID是否存在? 我是新脚本,所以只需在此添加我的逻辑。

if pgrep -f test-qa > null then
echo "Nothing"
else mail user@domain.com
fi

然后在crontab中进行设置,例如

15 * * * * /path1/folder/test-util.sh

所以如果服务器停产,我会收到电子邮件。请帮我解决linux脚本。

1 个答案:

答案 0 :(得分:1)

您可以使用pidof命令获取进程的pid,这是一个示例:

PIDS=`pidof rsync`

if [ -z "$PIDS" ]; then
    echo "No process alive... Starting an instance."
    rsync --partial --progress -avvz -e $SSH $RHOST:$RPATH $LPATH 2>&1 | tee $LOG
    exit 1
else
    echo "An instace is running in background. Done nothing."
fi