系统退出时无法停止python烧瓶线程

Posted

技术标签:

【中文标题】系统退出时无法停止python烧瓶线程【英文标题】:Can not stop python flask thread upon system exit 【发布时间】:2020-02-01 09:34:38 【问题描述】:

我已经用尽了网络搜索这个任务 --> Properly terminate flask web app running in a thread

我什至写了一个较小版本的原始代码,但似乎无法终止烧瓶线程,

当我有这段代码时,所有线程都会启动,然后优雅地退出:

def thrdCode1(arg):
    for i in range(arg):
        print("running")
        sleep(1)

if __name__ == "__main__":
    ngrokSetup()
    thrdH = Thread(target=thrdCode1, args=(2,))
    thrdH.deman = True
    thrdH.start()
    print("1---")
    thrdH.join()
    print("thread finished...exiting")

但是当线程与flask app.run一起使用时,我的线程启动但它从未退出我什至尝试过exit(-1)

def thrdCode2(arg):
    app.secret_key = 'my Top Secret'
    app.run(use_reloader=False)

if __name__ == "__main__":
    ngrokSetup()
    thrdH = Thread(target=thrdCode1, args=(2,))
    thrdH.deman = True
    thrdH.start()
    print("1---")
    thrdH.join()
    print("thread finished...exiting")

我什至在最后尝试了 exit(-1)

【问题讨论】:

【参考方案1】:

好的,我可以通过发送关闭请求来解决此问题。烧瓶

【讨论】:

以上是关于系统退出时无法停止python烧瓶线程的主要内容,如果未能解决你的问题,请参考以下文章

如何正确停止线程

求助python多线程,执行到100多个停止了

Qt 调试崩溃/退出 python 并最终无法正确调试(例如,不在断点处停止)

如何停止线程?

1.7停止线程

退出引导模式时停止播放视频