我有代码在 Linux 电脑上运行网络摄像头,使用gst-launch
command.
当我终止该进程时,网络摄像头窗口不会关闭,但程序停止运行。我希望网络摄像头窗口也关闭。
你能帮我解决这个问题吗?
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()
对我来说,当前接受的答案也将终止主程序。如果您遇到同样的问题并希望它继续,您还必须添加参数preexec_fn=os.setsid
来打开。所以总共:
import os
import signal
import subprocess
process = subprocess.Popen(cmd, shell=True, preexec_fn=os.setsid)
os.killpg(os.getpgid(process.pid), signal.SIGTERM)
我从这里得到这个:https://stackoverflow.com/a/4791612/11642492
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)