linux上shelle脚本

博客介绍了判断进程是否一直运行的方法,若进程挂掉则新启动一个进程。设置每10s扫描一次,需在crontab中设置1分钟执行一次脚本,脚本中通过判断进程ID是否存在来决定是否重启ffmpeg进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断进程一直运行,如果进程挂掉,则新启动一个进程,设置为每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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值