shell脚本监控(循环)判断程序进程是否存在,如果存在则不执行,如果不存在则执行启动程序

 Linux后台运行命令:

nohup  sh  run.sh  &

           nohup 是 no hang up 的缩写,就是不挂断的意思。

nohup和&的区别

& : 指在后台运行

nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

---------------------------------------------------------------------------------------------------------------------------------

脚本run.sh:

#!/bin/sh
while true
do
        process=`ps -ef| grep mysqld | grep -v grep`; #查询mysqld进程,grep -v grep去掉grep进程

        if [ "$process" == "" ]; then
                sleep 1;
                echo "process 不存在,开始执行";
                nohup python mysql.py &;
        else
                echo "process exsits";
                break;
        fi
done

或者:通过进程数判断进程是否运行,如果没有就启动程序

#!/bin/sh
while [ 1 ]; do
sleep 10
count=`ps -ef|grep send_to_mongo|grep -v grep|wc -l`
echo $count
if [ "$count" -eq 0 ];then
echo "start process....."
nohup python  send_to_mongo.py &
else
echo "runing....."
fi
done
#启动此脚本时在后台运行:nohup  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱若手握流沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值