在python中杀死一个线程

时间:2015-08-28 13:56:34

标签: python multithreading python-2.7 subprocess

下面是我在python中尝试实现的代码片段。我试图从一些其他函数生成目标函数上的新线程。这个新线程在子进程上等待并退出。现在我想在请求进入时终止该线程。这也应该杀死它正在执行的相应子进程。

Author

2 个答案:

答案 0 :(得分:1)

您的实际用例有一个非常简单的解决方案:使用subprocess.Popen生成外部进程。然后,从Python监视和控制该过程。

 p = suprocess.Popen(...)
 #  ... some time later
 p.kill()

将是一种方法。

不需要线程。

答案 1 :(得分:0)

我通常让新线程检查全局变量或在Queue中传递的值,然后当它看到关闭线程运行的指示符时:

sys.exit()

它强制线程关闭。

添加了: 您将在要关闭的线程中使用sys.exit() 这对线程模块很有用。

线程模块有一个thread.exit()调用,但看起来你正在使用线程。