私はPopen
を呼び出して、コマンドラインユーティリティから文字列を戻すスレッドを持っています。非常に遅いネットワークデータが到着するまで、このコマンドライン機能は戻りません。場合によっては数分かかる場合もあります。popenを待っているpythonスレッドを停止しますか?
ユーザーが望む場合、このデータの待機をキャンセルできます。この場合、スレッドを停止する正しい方法は何ですか?
class CommThread(threading.Thread):
def __init__(self):
self.stdout = None
self.stderr = None
self.command = None
threading.Thread.__init__(self)
def run(self):
if self.command is not None:
p = Popen(self.command.split(), shell=False, stdout=PIPE, stderr=PIPE)
self.stdout, self.stderr = p.communicate()