Python特使赢得';t螺纹

Python特使赢得';t螺纹,python,multithreading,Python,Multithreading,我希望在后台线程中从python启动此命令,同时使用以下命令保持主程序线程运行: 这可以工作,但是挂起,它没有像它应该做的那样运行线程,所以我不能在完成后杀死它。我试着把它包成一条线: class FileServerThread(Thread): def __init__(self): Thread.__init__(self) self.process = None def run(self): self.process =

我希望在后台线程中从python启动此命令,同时使用以下命令保持主程序线程运行:

这可以工作,但是挂起,它没有像它应该做的那样运行线程,所以我不能在完成后杀死它。我试着把它包成一条线:

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从未被分配(因为embassage.run不会结束,也不会返回)


有什么帮助吗?

恐怕您不能用
run
来完成,但您可以通过
connect
来完成

import envoy
p = envoy.connect("python -m SimpleHTTPServer 9999")
print "run here!"
p.kill()
然而,在
kill()
之后,我发现进程变成了僵尸,
p.block()
将解决它

import envoy
p = envoy.connect("python -m SimpleHTTPServer 9999")
print "run here!"
p.kill()