监控端口和僵尸进程脚本

背景:

1、部署应用存在多端口使用,kill -9 发布应用时,存在端口无法释放的现象。

2、java应用jvm内存分配较大,kill -9 后进程不存在,但是内存资源被僵尸进程占用,未及时释放。

通过脚本,监控资源释放情况,待资源释放后重启新进程。

#!/bin/bash

############监控端口是否释放############
while :
do 
    netstat -lnp|grep 7001
    returnVal01=$?
    netstat -lnp|grep 7002
    returnVal02=$?
    if [[ $returnVal01 -eq 1 && $returnVal02 -eq 1 ]]; then
        break
    else
        echo $(date "+%Y-%m-%d %H:%M:%S") ":WARING: 7001/7002 Port still exists!!"
        sleep 1
        continue
    fi
done
############监控僵尸进程############
while :
do 
    ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
    returnVal01=$?
    if [[ $returnVal01 -eq 1 ]]; then
        break
    else
        echo $(date "+%Y-%m-%d %H:%M:%S") ":WARING: There are zombie processes!!"
        sleep 1
        continue
    fi
done
###############监控僵尸进程是否存在,并进程查杀############
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9

 

posted @ 2020-07-31 10:25  老农夫  阅读(468)  评论(0编辑  收藏  举报