У меня проблема
Я хочу создать новый процесс ffmpeg, используя subprocess.popen, узнать его 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
в то время как l oop я пытался проверить этот pid процесса с помощью kill -0 pid, эта команда вернет ноль, если все в порядке и процесс запущен
НО
Если ffmpeg упадет, изменений не будет
kill -0 pid будет продолжать возвращать ноль кода, что все хорошо
Что мне делать?