欢迎来到代码驿站!

Shell

当前位置:首页 > 脚本语言 > Shell

Shell 批量进程判断是否存在

时间:2021-11-24 13:58:03|栏目:Shell|点击:

通过ps -ef | grep tomcat判断进程是否存在

1. 把需要点检的tomcat路径放到一个txt中,一行写一个tomcat,名字为demo.txt

/home/app/tomcat_8555_pis
/home/app/tomcat_test8556
/home/app/tomcat_test8557
/home/app/tomcat_test8558
/home/app/tomcat_test8559
/home/app/tomcat_test8560
test_not_found
test_not_found

2. 撰写脚本 demo.sh

#!/bin/bash -v

# 获取默认的参数值
echo '输入的文件参数为:' $1
file_name="$1"
if [ -z "${file_name}" ];then
        file_name="$0"
        file_name="${file_name%*.sh}.txt"
fi
echo "实际的文件参数为:${file_name}"

# 检测进程是否存在
# 如果有存在就显示OK, 不存在就显示NG
function check_info(){
        processString="$1"
        echo "$(date '+%Y-%m-%d %H:%M:%S') 检测的字符串:$processString 开始 ------------------------------------------------------------------ "

        ps -fe | grep "$processString" | grep -v grep
        if [  $? -eq 0 ]; then
                echo -e "$(date '+%Y-%m-%d %H:%M:%S') 检测的字符串:${processString} \033[42;34m 结果:OK \033[0m" 
        else
                echo -e "$(date '+%Y-%m-%d %H:%M:%S') 检测的字符串:${processString} \033[41;30m 结果:NG \033[0m"
                echo $processString >> "${file_name}.error.log"
        fi
        # 打印明细
        echo "$(date '+%Y-%m-%d %H:%M:%S') 进程明细如下:----------------"
        ps -fe | grep "$processString" 
        ps -fe | grep "$processString" > "${file_name%.sh}.error.log"
        echo "$(date '+%Y-%m-%d %H:%M:%S') 进程明细结束:----------------"
        echo "$(date '+%Y-%m-%d %H:%M:%S') 检测的字符串:$processString 结束 ------------------------------------------------------------------ "
        echo ''
        echo ''
}

# exit 
echo '开始执行' > "${file_name}.error.log"
cat "${file_name}" | while read line 
do
        if [ -n "$line" ];then
                echo $line
                check_info $line
        fi
done

3. 启动

sh -v ./demo.sh demo.txt
sh -v ./demo.sh 2>&1 | tee demo.log

tee命令
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。


上一篇:一个shell写的ping函数

栏    目:Shell

下一篇:linux下部署kodexplorer的方法

本文标题:Shell 批量进程判断是否存在

本文地址:http://www.codeinn.net/misctech/184592.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有