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

Python:限制os.system的进程调用数,python,command,xterm,Python,Command,Xterm,我需要并行运行程序,一次运行3个。我尝试了以下方法,但当programC在A和B之前完成时,它就不起作用了。我如何将运行程序的数量限制在,比如说,任何时候最多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

我需要并行运行程序,一次运行3个。我尝试了以下方法,但当programC在A和B之前完成时,它就不起作用了。我如何将运行程序的数量限制在,比如说,任何时候最多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" + " ")

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

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()

您可能不使用系统,因为您对后台流程失去了控制。您可能需要使用该模块。@JonathanLeffler您是对的