每当我运行我的实验性Flask服务器时,它曾经说过Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
。
每当我按下 Ctrl + C 时,它确实会退出。但在我运行一个线程Flask服务器后,按 Ctrl + C 关闭服务器但不退出进程。我必须手动(艰苦地),杀死进程,执行jobs
以确定进程号然后kill
它,等到它重新启动服务器之前终止它。这有什么问题?所有线程服务器都以这种方式运行吗?
修改
在application.py
。
from flask-sse import sse
# your code...
app = Flask(__name__)
app.config["REDIS_URL"] = "redis://localhost"
app.register_blueprint(sse, url_prefix='/foo')
# code again
sse.publish() # anything you want
# much code
if __name__ == "__main__":
app.run(threaded=True, host="0.0.0.0")
现在将文件作为python application.py
运行。无需执行flask run...
。
现在它说
Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
现在尝试按
Ctrl + C 。尝试重新加载您的网页,它不会意味着服务器已关闭。但是看看终端,这个过程还是没有终止。
如果您查看页面/foo
,您似乎仍然会收到活动。它并没有停止。这可能意味着这个线程没有停止。
现在,每次杀死这个过程都是一种痛苦的努力。有解决方案吗?