簡體   English   中英

終止后,Python子進程通信失敗

[英]Python Subprocess communicate fails after terminate

我遇到一個問題,即調用proc.communicate()甚至要求后仍然掛起proc.terminate()

我創建任務以在后台運行

import subprocess as sub
p = sub.Popen(command, stdout=sub.PIPE, stderr=sub.PIPE, shell=False)

在腳本完成時,我調用terminate()communicate()wait()來從進程中收集信息。

p.terminate()
errorcode = p.wait()
(pout, perr) = p.communicate()

腳本掛在通話處以進行通信。 我假設在終止呼叫之后進行的任何通信呼叫都會立即返回。 有什么原因會失敗嗎?

編輯:我正在使用此方法,因為該命令實際上是一個緊密的循環,不會自行終止。 我想使用p.terminate()來執行此操作,然后查看stdout和stderr必須提供什么。

您不需要前兩個語句。 只需調用communicate()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM