为什么 Flask 应用程序创建两个进程?

Why does a Flask app create two process?

据我了解 Flask 应该创建一个线程和第二个线程到 运行 就可以了,但我看到的是总是有两个进程,而不是线程,运行ning。 即使是最简单的应用程序。

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)

可以看到两个进程运行ning:

ps -x
5026 ttyO0    S+     0:01 /usr/bin/python ./test_flask.py
5031 ttyO0    Sl+    0:45 /usr/bin/python ./test_flask.py

这里发生了什么?

这是因为您是 运行 带有重新加载器的开发服务器。重新加载器监视文件系统的变化并在不同的进程中启动真正的应用程序,因此总共有两个进程。

您可以在调用run时设置debug=Falseuse_reloader=False来禁用重新加载器。