0

我正在使用服务器端脚本从数据库发送电子邮件。我想检查我为每个电子邮件列表创建的进程是否仍在运行,因此如果不是,我可以重新启动该特定列表的脚本。我考虑过使用 PID,但我想知道是否有更可靠的方法来识别它们,而不用担心 PID 回收和具有相同 PID 的不同进程。

4

1 回答 1

0

如果您的服务器端脚本被命名为“db_email.sh”,您的监控脚本可以只查找这些进程并计算结果。

PROCESS_COUNT=$(ps -eaf | grep "[d]b_email.sh" | wc -l)
if [[ $PROCESS_COUNT -eq 0 ]]; then
   echo "He's dead, Jim"
fi

grep 命令使用正则表达式,将其中一个字母括在方括号中,这样它就不会在进程列表中找到自己并将您的计数增加 1。

于 2013-05-07T02:11:04.950 回答