os.system和之间的区别
subprocess.Popen是Popen实际上打开了一个管道,并
os.system启动了一个子外壳,就像
subprocess.call。Windows仅一半支持*
nix操作系统将提供的某些管道/外壳功能,但区别基本上仍应相同。子shell不允许您像管道一样与另一个进程的标准输入和输出进行通信。
您可能想要的是使用子流程,但要在应用程序终止之前在管道对象上调用kill()方法(来自docs)。这样,您就可以决定何时终止进程。您可能需要通过调用
pipe.communicate()并关闭管道的文件句柄来满足进程要执行的所有I
/ O操作。



