shell如何运行多个python并且自重启

shell如何运行多个python并且自重启

这个代码可以运行单个python并且在关闭以后自重启
示例1:

#!/bin/bash

while [ 1 ];do

python3 price.py

done

现在我需要一个shell运行多个python,并且自重启
下面代码的问题 a如果异常关闭了 b还是会持续运行 不会自己重启A 也不会重新执行while

示例2

#!/bin/bash

while [ 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.log

python3 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

回到顶部