为啥 Flask 应用程序会创建两个进程? [复制]

Posted

技术标签:

【中文标题】为啥 Flask 应用程序会创建两个进程? [复制]【英文标题】:Why does a Flask app create two process? [duplicate]为什么 Flask 应用程序会创建两个进程? [复制] 【发布时间】:2015-04-19 12:54:36 【问题描述】:

据我了解,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

这里发生了什么?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于为啥 Flask 应用程序会创建两个进程? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥编译包含静态嵌套类的类会创建一个名为“EnclosureClass$1”的新 .class 文件? [复制]

为啥在 Kubernetes cron 作业中可能会创建两个作业,或者可能不会创建作业?

为啥hibernate会创建一个连接表和一个连接列?

Django 为啥我应用迁移时会创建一个字段?

为啥 GridControl 在执行后会创建一个额外的列/空间?

为啥会创建“net6.0-windows”子文件夹?