You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Flask服务器脚本退出耗时过长问题求助

Flask服务器访问路由后CTRL+C延迟终止的解决办法(Python 3.6.0 + Windows)

嘿,我之前在Windows环境用老版本Python跑Flask开发服务器时,也碰到过一模一样的问题!先给你唠唠为啥会这样,再给几个能立刻解决的办法:

问题根源

Flask默认依赖Werkzeug的开发服务器,在Python 3.6及更早的版本里,Windows系统的socket处理存在一个小缺陷:当你访问过路由后,服务器会留下一些未完全关闭的客户端连接或者后台线程,它得等这些连接超时(大概就是你遇到的10秒)才会彻底退出。

实用解决方案

  • 禁用多线程启动服务器
    Flask开发服务器默认是开启多线程的,你可以直接在代码里关掉它,这样就不会有残留线程拖慢退出速度。修改你的deploy.py:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run(threaded=False)  # 关闭多线程
    

    改完之后再启动,访问路由后按CTRL+C应该就能秒退了。

  • 命令行启动时关闭自动重载
    要是不想改代码,也可以在启动脚本时加个--no-reload参数,关闭自动重载功能,这也能避免后台线程导致的退出延迟:

    python deploy.py --no-reload
    
  • 升级Python版本(长期推荐)
    这个问题在Python 3.7及以后的版本里已经被官方修复了。而且Python 3.6早就停止维护了,要是你的项目允许,升级到3.7+不仅能解决这个退出延迟的问题,还能拿到更多新特性和安全补丁,一举两得。

应急小技巧

如果上面的方法暂时没起效,你可以试试连续按两次CTRL+C——第一次触发服务器的退出流程,第二次直接强制终止所有残留进程,虽然有点粗暴,但应急用挺管用。

内容的提问来源于stack exchange,提问作者FMA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:07:13