python中的spawn和popen方法的本质区别?

spawn指pty模块的生成一个进程,并将其控制终端连接至当前进程标准IO;Popen指subprocess模块的生成子进程方法。那么这二者有何区别?从操作系统的角度而言呢?

慕娘9325324
浏览 4499回答 2
2回答

紫衣仙女

这两个从 Python 级别上面就不同, spawn 只是一个函数,Popen是一个类;spawn 是通过 fork 方式实现,然后子进程执行具体的命令,然后父进程去获取终端的输出,强调获取数据而已, 而 subprocess 提供更多进程信息的管理,比如说执行命令的状态码,子进程通信和回收等;spawn 和 操作系统的 popen系统调用,反而就是有点类似了。
打开App,查看更多内容
随时随地看视频慕课网APP