gpt4 book ai didi

python - Flask 服务器不会在 Windows 中按 Ctrl+C 停止

转载 作者:太空狗 更新时间:2023-10-30 00:16:12 25 4
gpt4 key购买 nike

我使用 Visual Studio 模板中的 Flask 创建了一个默认的基本 Web 服务器。当我从命令提示符启动它时,它说“按 Ctrl+C 退出”。当我按下 Ctrl+C 时,没有任何反应,服务器继续运行。

问题:有没有办法像宣传的那样让 Flask 在 Ctrl+C 时停止?

这是服务器启动的代码:

from os import environ
from myapp import app

if __name__ == '__main__':
HOST = environ.get('SERVER_HOST', 'localhost')
try:
PORT = int(environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(HOST, PORT)

最佳答案

要停止在 Windows 上运行的 Flask 服务器:

  1. Ctrl+c
  2. 如果 Flask 仍在运行,请尝试:Ctrl+Break
  3. 如果 Flask 仍在运行,打开命令终端或 PowerShell 并运行:
taskkill /f /im python.exe

您还可以选择要终止的特定 Python 进程:

> tasklist /fi "imagename eq python.exe"

Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
python.exe 1080 Console 8 72,456 K
python.exe 15860 Console 8 73,344 K

> taskkill /F /pid 15860
SUCCESS: The process with PID 15860 has been terminated.
  1. 如果服务器仅在本地计算机上运行,​​另一种选择是 create an endpoint to kill the server
from flask import request
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('/shutdown', methods=['POST'])
def shutdown():
shutdown_server()
return 'Server shutting down...'

关于python - Flask 服务器不会在 Windows 中按 Ctrl+C 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46389579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com