相关疑难解决方法(0)

等待多个并行作业的子进程结束

我正在并行运行python中的一些子进程.我想等到每个子进程都完成了.我正在做一个非优雅的解决方案:

runcodes = ["script1.C", "script2.C"]
ps = []
for script in runcodes:
  args = ["root", "-l", "-q", script]
  p = subprocess.Popen(args)
  ps.append(p)
while True:
  ps_status = [p.poll() for p in ps]
  if all([x is not None for x in ps_status]):
    break
Run Code Online (Sandbox Code Playgroud)

是否有一个类可以处理多个子进程?问题是该wait方法阻止了我的程序.

更新:我想在计算过程中显示进度:类似"4/7子流程完成......"

如果你很好奇root编译c ++脚本并执行它.

python subprocess

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

python ×1

subprocess ×1