我正在使用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