当前位置: 首页 > 面试题库 >

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

雷献
2023-03-14
问题内容

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

这是怎么回事


问题答案:

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

您可以通过点按debug=Falseuse_reloader=False致电来禁用重新加载器run



 类似资料:
  • 据我所知,Flask应该创建一个线程和第二个线程在其上运行,但我看到的是总是有两个进程在运行,而不是线程。即使是最简单的应用程序。 您可以看到两个进程正在运行: 这里到底发生了什么?

  • 问题内容: 我正在检查与连接的openssl客户端有关jsse tls加密和解密的Java应用程序的行为。 首先,我观察到当我为客户端数据调用unwrap时,它总是对37字节的字节进行解包并产生0。下一次的unwrap会消耗一些字节并产生一些。 起初我以为客户端会先包装一个空数组。但是后来我发现jsse代码执行相同的操作,除了它产生1个字节而不是0个字节。 因此,对a的每次调用都消耗X个字节并产生

  • 有ManyToOne链接的表。每个学生被分配一个方向从教育方向。当我创建学生时,所选方向被重新创建。为什么在创建学生时创建方向? 学生: 教育方向: 学生道:

  • 我有一个简单的Spring MVC应用程序,带有一个jsp和一个controller类,部署在tomcat服务器中。该设置对多个请求都能正常工作。我已经将controller类命名为com.mypackage.mvcController。 为什么这个特定控制器bean的实例数是两个? 默认情况下spring bean是单例的。当然,这里的实例并不随多个请求而变化,而是应该是一个。 下面是我的配置:

  • 3 CoreFoundation CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION+28 4 CoreFoundation__CFrunloopdoTimer+880 5 CoreFoundation__CFrunloopdoTimers+276 10 Figment POS AppDelegate.Swift-第39行main+39 11

  • 问题内容: 我正在尝试将日志添加到使用Flask的Web应用程序中。 使用内置服务器(即)托管时,日志记录有效。使用Gunicorn托管时,不会创建日志文件。 重现问题的最简单代码是以下代码: 使用以下命令调用该应用程序: 当对网站主页进行请求时,将发生以下情况: 我收到预期的HTTP 200“ Hello World \ n”作为响应。 中有该请求的痕迹。 保持不变(只有启动事件)。 终端中有“