检查后台任务是否已完成



我在后台并行运行了很多模拟:

for i in range (a, b):
    os.system("python xxx.py &")
// To-Add: check if tasks are complete, then process the results

xxx.py 调用另一个软件。有没有办法检查任务是否完成,以便我可以处理结果?

如果您使用子进程,那么您将更好地控制外部进程,包括能够在不阻塞的情况下启动多个进程,并检查它们是否已完成。您可能需要收集一组 Popen 实例并使用poll来查看它们是否完整。

试试这段代码:

#!/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);

最新更新