Unix看门狗脚本创建了另一个进程,即使有正在运行的进程

我有一个看门狗脚本来保持另一个脚本(我的过程脚本)运行。也就是说,看门狗进程每60秒检查一次我的进程是否正在运行,并在没有运行时重新生成它。

#!/bin/sh

isMyProcessRunning () 
{
    r=`ps -ef | grep myProcessname |grep -v grep`
    if [ -z "$r" ]; then
        return 0
    else
        return 1
    fi   
}

while true; do
    isMyProcessRunning
    if [ $? -eq 0 ]; then
       echo "Restarting my process as it had died"
       (<path_to_myProcess> < /dev/null > /dev/null 2>&1) &
    fi    
    sleep 60 
done

直到最近,这个脚本对我来说都很好(一起工作了几个月)。最近,我看到有2个正在运行的我的流程脚本进程是由同一看门狗进程创建的。
我无法找出原因。我手动杀死了其中一个进程,而未对监视程序或进程脚本进行任何更改。然后,看门狗脚本再次运行似乎又正常了。但是,我需要知道这种异常的原因。

如果有人遇到类似问题并且知道解决方案,请帮助我。
预先感谢。

dukx95 回答:Unix看门狗脚本创建了另一个进程,即使有正在运行的进程

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3068397.html

大家都在问