Python中subprocess的簡單使用示例
在c語言中,一個進(jìn)程可以fork出一個子進(jìn)程,并讓這個子進(jìn)程exec一個新的命令。在python中,我們通過標(biāo)準(zhǔn)庫的subprocess包來fork一個子進(jìn)程,并在子進(jìn)程中運行一個新的程序。
subprocess包中有數(shù)個創(chuàng)建子進(jìn)程的函數(shù),這些函數(shù)分別以不同的方式創(chuàng)建子進(jìn)程,所以我們可以根據(jù)需要來從中選取一個使用。另外subprocess還提供了一些管理標(biāo)準(zhǔn)流(standard stream)和管道(pipe)的工具,從而在進(jìn)程間使用文本通信。
使用subprocess包中的函數(shù)創(chuàng)建子進(jìn)程的時候,需要注意:
- 在創(chuàng)建子進(jìn)程之后,父進(jìn)程是否暫停,并等待子進(jìn)程運行。
- 函數(shù)返回什么
- 當(dāng)return code不為0時,父進(jìn)程如何處理。
subprocess.call()
函數(shù)原型:
函數(shù)解釋:
父進(jìn)程等待子進(jìn)程完成,返回執(zhí)行是否成功。
函數(shù)原型:
Popen對象創(chuàng)建后,主程序不會自動等待子進(jìn)程完成。我們必須調(diào)用[/code]對象的wait()方法,父進(jìn)程才會等待 (也就是阻塞block)。
相關(guān)文章
全面了解Python的getattr(),setattr(),delattr(),hasattr()
下面小編就為大家?guī)硪黄媪私釶ython的getattr(),setattr(),delattr(),hasattr()。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06Python實現(xiàn)棧的方法詳解【基于數(shù)組和單鏈表兩種方法】
這篇文章主要介紹了Python實現(xiàn)棧的方法,結(jié)合實例形式詳細(xì)分析了Python基于數(shù)組和單鏈表兩種方法定義棧的相關(guān)操作技巧,需要的朋友可以參考下2020-02-02Python爬蟲之PhantomJS和handless的使用詳解
這篇文章主要介紹了Python爬蟲之PhantomJS和handless的使用詳解,PhantomJS是一個基于Webkit的headless瀏覽器,它會把網(wǎng)站加載到內(nèi)存并使用webkit來編譯解釋執(zhí)行頁面上的JavaScript代碼,由于不進(jìn)行css和gui渲染、不展示圖形界面,需要的朋友可以參考下2023-09-09python3實現(xiàn)斐波那契數(shù)列(4種方法)
這篇文章主要介紹了python3實現(xiàn)斐波那契數(shù)列(4種方法),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python plt.plot bar 如何設(shè)置繪圖尺寸大小
這篇文章主要介紹了python plt.plot bar 設(shè)置繪圖尺寸大小的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06