如何检查进程是否正在运行 - Linux

时间:2014-11-04 16:44:08

标签: linux shell sockets embedded-linux

我正在使用shell脚本调用二进制文件。二进制文件基本上是建立套接字客户端服务器。这个二进制文件最初工作正常但是在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

1 个答案:

答案 0 :(得分:0)

您可以使用python supervisor实用程序,它将负责为您重新启动死程序。

https://pypi.python.org/pypi/supervisor