当前位置: 首页 > 编程笔记 >

Shell脚本实现监视指定进程的运行状态

申自明
2023-03-14
本文向大家介绍Shell脚本实现监视指定进程的运行状态,包括了Shell脚本实现监视指定进程的运行状态的使用技巧和注意事项,需要的朋友参考一下

在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率、CPU的使用率等。

现用shell脚本实现指定进程的运行状态。直接上代码。

#!/bin/sh
echo "`date`"
echo "Start $0---------"
echo ""
#每十秒监视一下
sec=10
#取得指定进程名为mainAPP,内存的使用率,进程运行状态,进程名称
eval $(ps | grep "mainApp" | grep -v grep | awk {'printf("memInfo=%s;myStatus=%s;pName=%s",$3,$4,$5)'})
echo $pName $myStatus $memInfo
testPrg=""
while [ -n "$pName" -a "$myStatus" != "Z" ]
do
    echo "----------`date`---------------------"
    echo $pName $myStatus $memInfo
    sleep $sec
    ####You must initialize them again!!!!!
    pName=""
    myStatus=""
    memInfo=""
    eval $(ps | grep "mainApp" | grep -v grep | awk {'printf("memInfo=%s;myStatus=%s;pName=%s",$3,$4,$5)'})
    testPrg=`ps | grep "MyTester" | grep -v grep | awk '{print $0}'`
    if [ -z "$testPrg" ]; then
        break
    fi
    ##注意一定要再次初始化为空
    testPrg=""
done
echo "End $0---($pName,$myStatus,$testPrg)-------------------"
if [ -z "$pName" ]; then
        ###发现测被测试程序异常退出后,停止测试程序
    killall MyTester
    echo "stop TestProgram MyTester"
fi
echo "`date`"
echo "---------------Current Status------------------"
ps | grep -E "mainApp|SubApp" | grep -v grep
echo ""

样实现了每10s读取一下进程的状态,然后显示出来,当发现进程存在并且状态非Z(非僵尸)时,继续监视,但是当测试程序执行完毕或是异常退出时,该脚本也会退出监视循环,退出循环后,打印出指定进程的状态。

 类似资料:
  • 本文向大家介绍Shell脚本实现监控iptables运行状态,包括了Shell脚本实现监控iptables运行状态的使用技巧和注意事项,需要的朋友参考一下 最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境不一样,需求也就不一样. 脚本内容: vi i

  • 本文向大家介绍shell脚本实现监控shell脚本的执行流程及变量的值,包括了shell脚本实现监控shell脚本的执行流程及变量的值的使用技巧和注意事项,需要的朋友参考一下 很多时候,我们都会写shell程序来完成一些不用重复造轮子的时刻,但是,又因为shell语句中也会有函数,也会有变量,在运行后到底执行了哪些相关的操作,就需要对具体执行过程中的变量等可变的因素的监控,那么我们下面就写个小小的

  • 本文向大家介绍Shell脚本实现Linux系统和进程资源监控,包括了Shell脚本实现Linux系统和进程资源监控的使用技巧和注意事项,需要的朋友参考一下 在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出现异常时及时报警,通知系统管理员。本文介绍在Linux系统下几种常见的监控需求及其shell脚本的编写。 文章目录:

  • 本文向大家介绍linux进程监控shell脚本代码,包括了linux进程监控shell脚本代码的使用技巧和注意事项,需要的朋友参考一下 为确保php页面在后台运行,写了一个监控脚本,假设程序异常退出,那么可以自动重启。 shell脚本/usr/local/scripts/receve.sh内容: 需要保证监控脚本正常运行,在每天凌晨自动重启脚本/usr/local/scripts/restart_

  • 本文向大家介绍Shell脚本获取进程的运行时间,包括了Shell脚本获取进程的运行时间的使用技巧和注意事项,需要的朋友参考一下 在我们的系统中,我曾写了一个脚本去定时更新一些repository,但偶尔会遇到问题,比如:git pull之时可能会卡在那里(可能由于某时刻的网络问题),它会阻碍后面的下一次更新。 所以我就在想,我今后启动这个脚本时,进行检查,如果上次运行的脚本还没结束,而且过了某个时

  • 本文向大家介绍shell脚本监控mysql主从状态,包括了shell脚本监控mysql主从状态的使用技巧和注意事项,需要的朋友参考一下 此脚本首先判断mysql服务器是否运行,如果正常,继续判断主从,否则发邮件告警,只发一次。 判断主从状态是判断IO和SQL线程是否都为yes,如果不是则发邮件通知,只发一次。