如何在特定条件下杀死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.

我正在尝试使用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.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,他停止的是程序而不是线程