Shell脚本之监视指定进程的执行状态
2017-07-27 15:38
302 查看
在之前的博客中,以前写了自己主动化測试程序的实现方法,如今开发人员须要知道被測试的进程(在此指执行在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脚本之监视指定进程的运行状态
- Shell脚本实现监视指定进程的运行状态
- Shell脚本实现监视指定进程的运行状态
- Shell脚本之监视主进程的运行状态,异常退出后自动重启
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- shell 脚本里启动多进程执行
- 用Shell脚本定时监控Linux下的进程状态并自动重启
- shell在指定目录下批量执行sql脚本
- 以Android L读取系统所有logcat并写入文件为例分析Android 以添加系统进程的方式申请selinux的权限执行shell脚本,以及avc:dined应该怎么申请权限
- shell 脚本 指定用户执行命令
- 【原】用shell脚本监视进程,崩溃挂掉后自动重启
- Shell写的一个进程监视脚本
- shell脚本实现关闭指定程序名的进程
- 通过进程检测服务时脚本文件名不要起要检测的服务名字命名 shell程序从上到下执行若定义函数或引用系统函数需先定义 kill -USR2
- 执行shell脚本进入指定目录
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- Shell执行将脚本里的变量打印到指定日志文件
- shell 脚本监控程序是否正在执行, 如果没有执行, 则自动启动该进程
- Shell脚本实现每个工作日定时执行指定程序