Python: 限制流程调用的次数 os.system

Python: Limit number of process calls by os.system

我需要 运行 并行程序,一次 3 个。我尝试了以下但当 programC 在 A 和 B 之前完成时,它不起作用。我怎样才能限制 运行ning 程序的数量,比如说,在任何时候最多 3 个。

for i in range(10):
     os.system("xterm -e program " + i + "a" + " &")
     os.system("xterm -e program " + i + "b" + " &") 
     os.system("xterm -e program " + i + "c" + " ")

这是我的解决方案,不过我会 select 一个更好的答案:

for i in range(10):
    a = subprocess.Popen(["xterm -e program"+ i + " a" ],shell=True)
    b = subprocess.Popen(["xterm","-e","program",i," b"])
    c = subprocess.Popen(["xterm","-e","program",i," c"])
    a.wait()
    b.wait()
    c.wait()