我使用以下方法在后台并行运行大量模拟:
for i in range (a, b):
os.system("python xxx.py &")
// To-Add: check if tasks are complete, then process the results
xxx.py调用另一个软件。 有没有办法检查任务是否完成,所以我可以处理结果?
答案 0 :(得分:3)
如果您使用subprocess,那么您将可以更好地控制外部流程,包括能够在不阻塞的情况下启动多个流程,并检查它们是否已完成。您可能需要收集一组Popen实例并使用poll
查看它们是否完整。
答案 1 :(得分:0)
试试这段代码:
#!/usr/bin/python3
import subprocess
import time
proc = subprocess.Popen('python xxx.py', shell=True)
while proc.poll() == None:
print ( proc.pid);
time.sleep(1);