2016-03-02 104 views
0

我正在用python3.4子進程運行一個命令。該命令有2個選項,一個標準和一個交互。問題是,如果我在標準模式下運行它,check_process立即返回。我也檢查了運行它與subprocess.call,然後在兩種模式下運行命令需要更長的時間。 總之Check_output立即返回

subprocess.check_output([command]) //returns immediately 
subprocess.check_output([command, "-i"]) // takes longer to run, returns output 
subprocess.call([command]) // also takes longer to run 

的命令運行一個去程序,其中,在所述非交互模式的情況下,我禁止輸出。是否有可能因爲此check_output立即返回?從文檔中我知道它應該等待子進程返回。

我已經檢查了從python腳本之外運行的命令,並且在交互式和標準模式下運行需要「一點點」。

+1

首先檢查check_output是否引發異常,或者只是返回? – Laurijssen

+0

你確定你看到stderr嗎?試試:'print('它應該是可見的',file = sys.stderr)'。 – jfs

回答