新闻动态

Shell 批量进程判断是否存在

发布日期:2022-01-29 00:56 | 文章来源:脚本之家

通过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 批量进程判断是否存在的文章就介绍到这了,更多相关Shell 批量进程判断内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

香港服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部