如何确定ffmpeg子进程是否下降

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

我有问题

我想使用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如果一切正常并且进程正在运行,则此命令将返回零。

BUT

如果ffmpeg会掉落不会有任何变化

kill -0 pid将继续返回零代码,表明一切正常

我该怎么办?

我有一个问题,我想使用subprocess.popen创建一个新的ffmpeg进程,并在python程序的主体中查找其pid,以查看该进程是否存在args = shlex.split('ffmpeg -i。 ..

python ffmpeg subprocess pid
1个回答
0
投票

您可以使用proc.poll()解决。参见:Is there a way to check if a subprocess is still running?

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