任何人都可以让我知道如果它再次死亡,如何再次自动重新运行该过程。下面是我的代码,我累了,但它给了我一个错误:
已编辑的代码:
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
echo "PID $commandpid"
if [ ps -p $commandpid > /dev/null ]
then
echo "[$(date)] :Process is already running with PID $commandpid"
else
echo "[$(date)] :Process is not running"
/data/local/command 1200 &
commandpid=`$busyboxValue pidof command`
echo ${commandpid} > /sdcard/CommandProcess.txt
fi
sleep 10
done
我已经更新了代码,但仍然使用上面的代码我得到了多个进程ID。剂量意味着我的其他部分代码继续执行?如果是,我需要做些什么改变来阻止它?
可以请任何人帮助我吗?
答案 0 :(得分:3)
要重复运行命令,无论退出状态如何:
while :; do command; done
重复运行命令直到成功退出:
until command; do :; done