shell如何运行多个python并且自重启
这个代码可以运行单个python并且在关闭以后自重启
示例1:
#!/bin/bashwhile [ 1 ];do
python3 price.py
done
现在我需要一个shell运行多个python,并且自重启
下面代码的问题 a如果异常关闭了 b还是会持续运行 不会自己重启A 也不会重新执行while
示例2
#!/bin/bashwhile [ 1 ];do
ps -ef | grep a.py | grep -v grep | awk '{print $2}' | xargs kill -9
ps -ef | grep b.py | grep -v grep | awk '{print $2}' | xargs kill -9
cd /home/pdgram/
python3 a.py >> a.log & python3 b.py >> b.log
done
我现在就是有很多个python文件 并且需要shell自重启 示例1虽然能重启单个 但是写多个shell也不方便管理,而现在需要的就是示例1的逻辑能运行多个python.而示例2是我自己编写的 目前不能实现
回答:
用 supervisor
啊,想用 systemd
也是可以的.
回答:
python3 a.py >> a.log & python3 b.py >> b.log
这行代码可以拆分成如下:
python3 a.py >> a.logpython3 b.py >> b.log
题主说的问题是指 执行python3 a.py后,如果出现异常,就重新进行while循环吗?
那么就直接加个判断不就行了?
(PS: 在执行a.py脚本里面 , 记得用exit 1 非正常退出.)
if [ $? == 0 ]; then echo "成功~!"
else
echo "异常~,跳过这次循环!"
continue
fi
题主的另一个问题:
" b还是会持续运行 不会自己重启A 也不会重新执行while"
b持续运行,不会重新执行while --> 是不是 b.py里面有无限循环呀, 只有b.py执行结束后,才会重新执行while();
以上是 shell如何运行多个python并且自重启 的全部内容, 来源链接: utcz.com/a/161172.html