如果调用subprocess.call N次,我想知道是否会创建N子进程。
子进程何时关闭?我应该手动杀死它吗?
subprocess.Popen怎么样?
答案 0 :(得分:3)
subprocess.call
每次调用时都会创建一个进程并等待命令完成。因此,由于等待命令完成的性质,没有真正的并行处理。
subprocess.Popen
每次调用时都会创建一个进程,但不会等待命令完成。您可以使用communicate
等待命令完成或致电kill
。
总结一下。使用subprocess.Popen
,您可以更好地控制自己创建的流程。
答案 1 :(得分:1)
是的,每次致电Public objExcel As Object 'instead of Excel.Application
Set objExcel = CreateObject("Excel.Application")
或其任何亲属(包括subprocess.call()
)时,都会产生新流程。您不需要正常地显式杀死子进程 - 您只需等待它们退出。