envoyを使用してメイン プログラム スレッドを実行したまま、バックグラウンド スレッドで Python からこのコマンドを起動したい:
envoy.run('python -m SimpleHTTPServer 9999')
これは機能しますが、ハングします。本来あるべきスレッドで実行されないため、完了後に後で強制終了することはできません。私はそれをスレッドにラップしようとしました:
class FileServerThread(Thread):
def __init__(self):
Thread.__init__(self)
self.process = None
def run(self):
self.process = envoy.run('python -m SimpleHTTPServer 9999')
def kill(self):
self.process.kill
しかし、ここでも self.process が割り当てられないため、これは機能しません (envoy.run が終了せず、返されないため)。
何か助けはありますか?