【发布时间】:2020-07-21 23:18:31
【问题描述】:
我有问题
我想使用 subprocess.popen 创建一个新的 ffmpeg 进程 找出他的pid 并在 python 程序的主体中查看进程是否处于活动状态
args = shlex.split ('ffmpeg -i rtsp: //192.168.1.68: 8554 / mystream -f segment -strftime 1 -segment_time 5 13_REG1_CHANNEL3_% Y-% m-% d_% H-% M-% S-% s .mp3 ')
print (args)
proc = subprocess.Popen (args, stdout = subprocess.PIPE)
ch_pid = proc.pid
print (proc.pid)
proc.wait ()
print (proc.communicate ())
while (1):
if (os.system (str ('kill -0 {PID}'). format (PID = ch_pid)) == 0):
print ('proc is alive')
else:
break
在 while 循环中,我尝试通过 kill -0 pid 检查此进程 pid 如果一切正常且进程正在运行,此命令将返回零
但是
如果 ffmpeg 会下降 不会有任何变化
kill -0 pid 会继续返回零代码表示一切正常
我该怎么办?
【问题讨论】:
标签: python ffmpeg subprocess pid