我有一个烧瓶应用程序,该应用程序是使用命令行运行的。但是,当我检查进程时,它表明有两个进程正在运行,难道不是一个进程吗?
#!/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
我在启动应用程序时做错了吗?还是它是如何工作的?
答案 0 :(得分:3)
Flask的开发服务器是多线程的。 Web Dev服务器通常使用多个进程,因此它们可以同时执行两项操作。
如果使用标志flask run --no-reload
运行它,则应该只会看到一个进程。
默认情况下,开发服务器使用线程。 (#2529)