如果我启动flask应用程序,则表明有两个进程正在运行

时间:2018-11-29 16:39:46

标签: python flask

我有一个烧瓶应用程序,该应用程序是使用命令行运行的。但是,当我检查进程时,它表明有两个进程正在运行,难道不是一个进程吗?

#!/usr/bin/env bash

# Activate virtual environment
source .venv/bin/activate

export FLASK_APP=migration_status.py
export FLASK_ENV=development
flask run --host=0.0.0.0 --port=5005

如果我运行上述脚本,然后运行,请检查linux进程。它显示了两个实例。

igns      6590   324  1 16:34 pts/2    00:00:00 /home1/igns/git/emsr/.venv/bin/python2.7 /home1/igns/git/emsr/.venv/bin/flask run --host=0.0.0.0 --port=5005
igns      6616  6590  2 16:35 pts/2    00:00:00 /home1/igns/git/emsr/.venv/bin/python2.7 /home1/igns/git/emsr/.venv/bin/flask run --host=0.0.0.0 --port=5005

我在启动应用程序时做错了吗?还是它是如何工作的?

1 个答案:

答案 0 :(得分:3)

Flask的开发服务器是多线程的。 Web Dev服务器通常使用多个进程,因此它们可以同时执行两项操作。

  1. 听http请求并返回响应
  2. 注意代码更改,并在更改后重新加载开发服务器

如果使用标志flask run --no-reload运行它,则应该只会看到一个进程。

Flask 1.0 Change Log

  

默认情况下,开发服务器使用线程。 (#2529

Development Server