据我所知,Flask应该创建一个线程和第二个线程来运行它,但我看到的是总是有两个进程,而不是线程,正在运行。 即使是最简单的应用程序。
from flask import Flask
from flask import render_template, request, flash, session, redirect
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
app.run(host="192.168.21.73", port=5000, debug=True)
您可以看到两个进程正在运行:
ps -x
5026 ttyO0 S+ 0:01 /usr/bin/python ./test_flask.py
5031 ttyO0 Sl+ 0:45 /usr/bin/python ./test_flask.py
这里发生了什么?
答案 0 :(得分:18)
这是因为您正在使用重新加载器运行开发服务器。重新加载器监视文件系统的更改并在不同的进程中启动真实应用程序,因此总共有两个进程。
您可以在致电debug=False
时设置use_reloader=False
或run
来停用重新加载器。