如何在python中控制用于调用外部命令的子进程数?

我了解使用subprocess是调用外部命令的首选方式。
但是,如果我想并行运行多个命令,但要限制生成的进程数怎么办?

for i in os.listdir(output_lineEdit):  #用for循环遍历文件夹内所有文件
    if i.split(".")[1] == "ma":  # 用if筛选出ma文件
        mapath = i
        cmd = '"{mayaBatchPath}" -batch -file "{maPath}" -script "{melFile}" "{plugins}"'.format(
                mayaBatchPath=MAYABATCHPATH,
                melFile=melFile, #mel文件
                maPath=output_lineEdit+"\\"+mapath, #源maya文件路径
                plugins="-noAutoloadPlugins",
        )
        # print(output_lineEdit+"\\"+mapath)

        p = subprocess.Popen(cmd,
                             shell=True,
                             )

如果我直接运行的话,会同时运行18个mayabatch.exe程序,因为我文件夹内有18个文件;我想要的是可以控制运行程序的数量,例如只能同时运行2个,完成之后关闭再运行下一个这样。