2012-12-04 81 views
0

subprocess documentation在由.communicate()返回的元組中具有returncodestderr值。如果有一個值分配到stderr,這是分類爲程序成功運行並完成(因此returncode將爲0)或不(然後returncode的值將大於0)?Python的子進程管理

+0

爲什麼downvotes?我真的很感興趣,爲什麼兩個人認爲'這個問題沒有顯示任何研究工作;它是不明確或沒有用' – ChrisW

+1

令人沮喪,當人們不會正視他們的行爲... – ChrisW

回答

-1

Popen。 溝通將返回一個元組,其中包含寫入到stdoutstderr(如果沒有寫入任何值,則爲無值)寫入的數據。

後溝通的回報,你可以檢查你的POPEN實例返回碼屬性獲得進程的退出狀態,如果從0不同,因爲它通常是發生了錯誤的指示。

+0

是的 - 我明白這一點。如果'stderr'不爲空,我不知道退出代碼*是否爲> 0 – ChrisW

+0

不,返回代碼不必爲> stderr> 0,任何進程都可以決定寫入stderr 。 – udoprog