繁体   English   中英

防止 Flask OSError: [Errno 98] Address already in use

[英]Prevent Flask OSError: [Errno 98] Address already in use

我有一个 Flask 应用程序,它通过 putty 控制台调用并在端口 5000 上运行。它应该只是临时运行,始终只有一个用户使用该应用程序。 有时,我会收到“地址已在使用”错误,可以通过“kill -9 PID”解决,其中 PID 是 flask 应用程序的 id。

是否存在通常导致此错误的用户行为? 直到现在,这对我来说似乎有点随机。 另外,可以做些什么来防止这个错误?

现在,我要么使用 crtl+c 关闭应用程序,要么使用指向此页面的页面上的“退出”按钮关闭应用程序:

def shutdown_server():
    func = request.environ.get('werkzeug.server.shutdown')
    if func is None:
        raise RuntimeError('Not running with the Werkzeug Server')
    func()

@app.route('/exit', methods=["POST", "GET"])
def shutdown():
    if request.method == "POST":
        shutdown_server()
        return render_template('exit.html', app_data=app_data, )

“exit.html”只是要求用户关闭 window。 这个按钮已经是防止不正常关机的尝试。

我还想到了端口的动态更改,但这将很难通过 putty 启动它。

我正在寻找一种直观的解决方案,以防止非编码用户被迫自己终止该进程。 谢谢你的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM