进程监护脚本

1. 编写脚本monitor.sh 

#!/bin/bash
#jar包地址,应写jar包的绝对路径
RESOURCE_NAME=/root/qwmyuploader/V2.0/my-uploader-0.0.1-SNAPSHOT.jar
result=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${result} ]; then
	#服务已经开启,判断是否是僵尸进程
        echo ${result}
	val=`ps -aux | grep $RESOURCE_NAME| grep -v grep | awk '{print $8}'`
	if [ "$val" == "Z" ];then
	#僵尸进程
		pid = `ps -aux | grep $RESOURCE_NAME| grep -v grep | awk '{print $2}'`
		kill -9 $pid
	fi
   
else  
	#开启服务
	#注意应写Java环境的绝对路径/usr/java/jdk1.8.0_212/bin/java
        echo hello
    #将Java程序中的日志输出到/root/qwmyuploader/V2.0/log文件下
        cd /root/qwmyuploader/V2.0/
        nohup /usr/java/jdk1.8.0_212/bin/java -jar $RESOURCE_NAME >/dev/null 2>&1 & 
        sleep 10
        echo $RESOURCE_NAME        
        res=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
        echo ${res}
        echo start success!
fi

注意: jar包和Java的地址一定要写绝对路径,否则不能启动目标服务!一定要记住是绝对路径哦

2. 测试脚本

#修改monitor.sh权限
chmod +x monitor.sh
#安装dos2unix
yum -y install dos2unix
dos2unix start.sh 
./start.sh
#运行monitor.sh
./monitor.sh

3.创建定时任务

之前的博客中写过如何创建定时任务,详见https://blog.csdn.net/qq_28323595/article/details/108140041第三部分。

4.多进程服务监控

#!/bin/bash
#gm代理py的绝对路径
RESOURCE_NAME=manage
result=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
#当串的长度大于0时为真,进程号不为空
if [ -n "$result" ]; then
        #服务已经开启,判断是否是僵尸进程
        echo "服务已开启"
        echo ${result}
        val=`ps -aux | grep $RESOURCE_NAME| grep -v grep | awk '{print $8}'`
        if [ "$val" == "Z" ];then
        #僵尸进程
                echo "存在僵尸进程"
                ps -ef|grep $RESOURCE_NAME|grep -v grep|cut -c 9-15|xargs kill -9
        fi

else
        #开启服务
        echo hello
        source /alidata/server/nginx/sbin/setting
        cd /home/gm_prox
        nohup /usr/local/Python-2.7.17/bin/gunicorn -w 4 -b 0.0.0.0:2879 $RESOURCE_NAME:app &
        sleep 10
        echo $RESOURCE_NAME
        res=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
        echo ${res}
        echo start success!
fi

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值