有两个想一直跑在后台的 shell 命令想用 Python 完成挂掉之后自动重启

2020-09-02 16:26:48 +08:00
 ldz
如题
因为对 Python 多线程 /多进程 /asyncio 的理解不是很深 所以请教下各位大佬
大致需求就是用 Python 跑两个 shell 命令,这两个 shell 命令可能时不时会挂掉
挂掉之后需要 Python 这边自动重启这两个命令


关于为什么不直接用 shell
因为这两个命令里的一些参数需要一些 Python 库获取

比较 low 的办法是起两个如下的同步程序

import subprocess
import time
p = subprocess.Popen(cmd,shell=True)
while True:
try:
stopped = p.poll()
except:
stopped = True
if stopped:
p = subprocess.Popen(cmd,shell=True)
time.sleep(60)

现在想请教下有没有办法用异步的方式实现在同一个脚本里自动重启这两个命令?
678 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/703579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX