spawn指pty模塊的生成一個進(jìn)程,并將其控制終端連接至當(dāng)前進(jìn)程標(biāo)準(zhǔn)IO;Popen指subprocess模塊的生成子進(jìn)程方法。那么這二者有何區(qū)別?從操作系統(tǒng)的角度而言呢?
2 回答

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
這兩個從 Python 級別上面就不同, spawn 只是一個函數(shù),Popen是一個類;
spawn 是通過 fork 方式實現(xiàn),然后子進(jìn)程執(zhí)行具體的命令,然后父進(jìn)程去獲取終端的輸出,強(qiáng)調(diào)獲取數(shù)據(jù)而已, 而 subprocess 提供更多進(jìn)程信息的管理,比如說執(zhí)行命令的狀態(tài)碼,子進(jìn)程通信和回收等;
spawn 和 操作系統(tǒng)的 popen系統(tǒng)調(diào)用,反而就是有點類似了。
添加回答
舉報
0/150
提交
取消