def main(): chinanet = isNetChainOK() if chinanet is False: print("疑似存在网络异常") getNet() else: print("网络正常") os.system("python3 /home/pi/Documents/8-17/simplest.py") 增加循环判断如果simplest.py运行中断怎重新运行simplest.py如果是因为网络中断则运行getNet()函数
时间: 2023-12-03 08:46:10 浏览: 30
你可以使用一个 while 循环来实现该功能,示例代码如下:
```
import os
def main():
while True:
chinanet = isNetChainOK()
if chinanet is False:
print("疑似存在网络异常")
getNet()
else:
print("网络正常")
os.system("python3 /home/pi/Documents/8-17/simplest.py")
# 检查 simplest.py 是否正常运行,如果中断则重新运行
while True:
pid = checkProcess("simplest.py")
if pid is None:
print("simplest.py 中断,重新运行")
break
else:
print("simplest.py 正在运行")
time.sleep(60) # 每隔一分钟检查一次
def checkProcess(processName):
cmd = "ps -ef | grep " + processName + " | grep -v grep | awk '{print $2}'"
pid = os.popen(cmd).read().strip()
if pid:
return pid
else:
return None
```
注意,checkProcess 函数用于检查某个进程是否正在运行,返回值为进程的 PID,如果进程不存在则返回 None。如果 simplest.py 中断,则会重新运行,否则会每隔一分钟检查一次。此外,你需要在代码中导入 time 模块。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)