判断进程一直运行,如果进程挂掉,则新启动一个进程,设置为每10s扫描一次
此处需要在crontab中设置1分钟执行一次以下脚本
#!/bin/bash
step=10
for (( i = 0; i < 60; i = (i+step) )); do
pid="$(cat /home/ffmpeg/cmd.pid)"
mm="$(ps -ax | awk '{ print $1 }' | grep -e "^${pid}$")"
echo $mm
if [ -z "$mm" ] ;then
echo "111"
nohup /usr/local/ffmpeg/bin/ffmpeg -i rtmp://192.168.7.121:1935/rtmplive/detect2001 -acodec copy -vcodec copy -f flv rtmp://192.168.7.121:1935/rtmplive/DF029022E023792340762EE75EA21378 & echo $! > /home/ffmpeg/cmd.pid
fi
sleep $step
done
exit 0