Systemd启动重复的python进程

问题描述 投票:1回答:1

我在raspberry pi zero(Raspbian buster)上使用systemd启动一个python flask应用。

每次我启动一个服务,它都会启动两个python进程,而不是一个。为什么会出现这种情况?

enter image description here

第一个进程是第二个进程的父进程。

enter image description here

下面是我在 etcsystemdsystemwebsite.service 中的服务定义。

[Unit]
Description=Website
After=network.target

[Service]
User=root
WorkingDirectory=/home/pi/dev
ExecStart=python /home/pi/dev/app.py
Restart=always

[Install]
WantedBy=multi-user.target

下面是homepidevapp.py中的flask应用。

from flask import Flask
app = Flask(__name__)


@app.route('/')
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)
python flask systemd
1个回答
1
投票

我找到了答案,Flask的开发服务器是和reloader一起运行的,所以它启动了两个进程。如果我添加 use_reloader=False 当启动Flask应用时,它将只启动一个进程。

app.run(host='0.0.0.0', debug=True, use_reloader=False)

更多信息在这里。为什么一个Flask应用会创建两个进程?

© www.soinside.com 2019 - 2024. All rights reserved.