如何在特定条件下杀死python线程
我正在尝试使用python线程模块启动一个线程。我想在某些条件下杀死这个新创建的线程。我已经写了下面的代码片段,但这似乎挂起了,进程永远不会返回如何在特定条件下杀死python线程,python,Python,我正在尝试使用python线程模块启动一个线程。我想在某些条件下杀死这个新创建的线程。我已经写了下面的代码片段,但这似乎挂起了,进程永远不会返回 from threading import Thread import time import os, signal def sum(): print("ada") time.sleep(5) print("ada1") current = Thread(target=sum) current.start() current.
from threading import Thread
import time
import os, signal
def sum():
print("ada")
time.sleep(5)
print("ada1")
current = Thread(target=sum)
current.start()
current.join()
cur_pid = os.getpid()
print(cur_pid)
os.kill(cur_pid, signal.SIGSTOP)
print(current)
您需要发送
SIGKILL
或SIGTERM
,而不是SIGSTOP
SIGSTOP
暂停进程(听起来像你看到的那样)。你想终止新创建的进程还是程序本身?@Max:我想终止新创建的进程这回答了你的问题吗?问题是SIGKILL终止了整个脚本。我的最后一行代码从未执行过。我只想杀死这个用os.getpid()调用函数的线程。他得到的是创建线程的实际程序的PID,他停止的是程序而不是线程