当前位置: 首页 > 知识库问答 >
问题:

为什么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

这里到底发生了什么?

共有1个答案

鲁霄
2023-03-14

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

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

 类似资料:
  • 问题内容: 据我了解,Flask应该创建一个线程并在其上运行第二个线程,但是我看到总是有两个进程在运行,而不是线程。即使是最简单的应用程序。 您可以看到两个进程正在运行: 这是怎么回事 问题答案: 这是因为您正在使用重新加载器运行开发服务器。重新加载程序监视文件系统中的更改,并以不同的过程启动真实应用程序,因此共有两个过程。 您可以通过点按或致电来禁用重新加载器。

  • 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

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

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

  • 我最初的程序是为了将数据插入我的数据库。我有4个表,其中插入了数据,为了优化起见,我在一个单独的线程中这样做,因为实体是异步创建的。我正在使用consume方法将实体添加到队列中。 过了一段时间,我决定使用Spring Boot将web api添加到我的应用程序中。Spring Data JPA是需要的,因为一些POST请求将数据插入到我的数据库中。但是Spring Data JPA与我已经在使用

  • 我正在Clojure中使用luminus和Ring构建一个web应用程序。我使用lein uberjar构建我的应用程序,然后用undertow服务器构建它。 我的问题是,什么时候对应用程序的请求在单独的非阻塞线程中运行? 我通过对执行的页面执行请求来测试应用程序的并发性。如果我同时在Chrome中的两个选项卡中访问此页面,第二个选项卡将在第一个选项卡加载后大约20秒内才加载。因此,这两次访问似乎