Как убить подпроцесс в Python - PullRequest
1 голос
/ 24 октября 2019

У меня есть код, который запускает веб-камеру на компьютере с Linux с помощью команды gst-launch.

Когда я завершаю процесс, окно веб-камеры не выключается, но программа останавливается. Я хочу, чтобы окно веб-камеры также было закрыто. Можете ли вы помочь мне в этом?

import subprocess
import time
import os
import signal

cmd = "gst-launch-1.0 -v v4l2src ! video/x-raw,format=YUY2 ! videoconvert ! autovideosink"
process = subprocess.Popen(cmd, shell = True)
time.sleep(5)
#print(subprocess.Popen.pid)
#process.terminate()
os.kill(process.pid, signal.SIGKILL)
#process.kill()

1 Ответ

1 голос
/ 24 октября 2019

Надеюсь, это поможет вам.

import os
import signal
import subprocess

process = subprocess.Popen(cmd, shell = True)
os.killpg(os.getpgid(process.pid), signal.SIGTERM)
...