2014-11-04 191 views
1

我正在使用shell脚本调用二进制文件。二进制文件基本上建立一个套接字客户端服务器。这个二进制文件最初工作正常,但是在60mint之后它正在停止。我需要检查它是否没有运行,然后再次启动它。这里是我的代码:如何检查进程是否正在运行 - Linux

sleep 3 
busyboxValue=busybox 
commandpid=`$busyboxValue pidof command` 
echo ${commandpid} > /sdcard/CommandProcess.txt 
if [ $commandpid -gt 0 ] 
then 
    echo -16 > /proc/$commandpid/oom_adj 
    echo -1000 > /proc/$commandpid/oom_score_adj 
fi 
while [ true ] 
do 
    commandpid=`$busyboxValue pidof command` 
    if [ $commandpid -gt 0 ] 
    then 
     echo "command binary still running" 
    else 
     echo "command binary Exited so restarting it" 
     /data/local/command 1200 & 
     commandpid=`$busyboxValue pidof command` 
     echo ${commandpid} > /sdcard/CommandProcess.txt 
     echo -16 > /proc/$commandpid/oom_adj 
     echo -1000 > /proc/$commandpid/oom_score_adj 
    fi 
    sleep 10 
done 
+0

这里有问题吗?你在寻找http://codereview.stackexchange.com/吗? – 2014-11-04 16:51:54

+0

他问如何创建一个看门狗开始他的事情,并重新启动它,如果它死了 – ErlVolton 2014-11-04 16:55:42

+0

'它正在越来越停止'你的意思是它收到一个SIGSTOP并进入“停止”状态? ...还是停滞了? ...还是终止了? – amphetamachine 2014-11-04 17:01:51

回答

相关问题