我正在使用shell脚本调用一个二进制文件。二进制文件基本上是建立一个socket客户端服务器。这个二进制程序一开始运行良好,但60分钟后就停止了。我需要检查它是否没有运行,然后重新启动它。这是我的代码:

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

最佳答案

您可以使用python supervisor实用程序,它将负责为您重新启动死机程序。
https://pypi.python.org/pypi/supervisor

08-05 22:57