杀死另一个进程的线程
问题描述:
我知道杀死线程子类的正确方法是定期检查某个标记(如self.running
)是否设置为某个“kill”值,但我有一个可能会挂起的线程等待输入,我想从外部进程中杀死它。杀死另一个进程的线程
任何帮助?
答
如果您愿意从线程模块切换到您的线程接口的多处理模块,那么这是可能的。所有需要完成的工作是跟踪每个启动的线程/进程的PID。
from multiprocessing import Process
import os,time
class myThread(Process):
def __init__(self):
Process.__init__(self)
def run(self):
while True:
os.system("sleep 5")
if __name__ == '__main__':
p = myThread()
p.start()
print "Main thread PID:",os.getpid()
print "Launched process PID:",p.pid
os.kill(p.pid,1)
p.join()
式两份,http://stackoverflow.com/questions/323972/is-there-any-way-to-kill-a-thread-in-python – alf
哦,*另一个进程... *一般,进程无法进入其他进程的内部(除非它当然不是'gdb')。我要么放弃(首选方式),要么使用调试接口。 – alf
只要你不介意整个过程在同一时间被杀死,这很容易做到。 –