当我使用os.killpg时,Flask应用程序不应退出

2024-03-28 14:16:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含3个函数的flask应用程序,其中一个函数位于子进程中,我正在使用os.killpg终止该子进程,但当程序执行os.killpg时,该命令将终止flask应用程序本身。我只想终止子流程,而不是flask应用程序。 你能帮个忙吗

flask import Flask, Response, request, jsonify
import subprocess
import time
import os
import signal

app = Flask(__name__)

@app.route("/cam", methods=['POST'])
def cam():

    cmd3 = "gst-launch-1.0 -v v4l2src ! video/x-raw,format=YUY2 ! 
                  videoconvert ! autovideosink"
    process3 = subprocess.Popen(cmd3, shell = True)
    time.sleep(1)
    os.killpg(os.getpgid(process3.pid), signal.SIGTERM)

@app.route("/one", methods=['POST'])
def one():
    " some commands
    "

@app.route("/two", methods=['POST'])
def two():
    " some commands
    "

if __name__ == "__main__":

    app.run(debug=True, host='0.0.0.0', port = 6005)

Tags: 函数importapp应用程序flasktime进程os