在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在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(非僵尸)时,继续监视,但是当测试程序执行完毕或是异常退出时,该脚本也会退出监视循环,退出循环后,打印出指定进程的状态。

最新文章

  1. 【饿了么】招聘Java开发工程师、架构师
  2. xampp下创建多个虚拟网站目录
  3. 将BootstrapJS和AngularJS结合使用以及为什么不用jQuery
  4. AlertDialog禁止返回键
  5. free命令
  6. 新版本 JSAPI微信支付V3 C# DEMO
  7. java项目导出jar文件时指定main方法的类
  8. 由setTimeout()里的this引出的this
  9. knockout+echarts
  10. Android 5.x新特性之elevation(阴影),tinting(着色)以及clipping(剪裁)
  11. java版微信公众平台自定义菜单创建代码实现
  12. HDU 5831 Rikka with Parenthesis II
  13. bzoj3110: [Zjoi2013]K大数查询 【cdq分治&树套树】
  14. vue和angular的区别:
  15. vue根据路由变换,切换导航栏样式
  16. 《Linux就该这么学》第十三天课程
  17. tensorflow读取本地MNIST数据集
  18. maven-assembly-plugin 入门指南
  19. JDK自带观察者的使用
  20. jQuery验证控件jquery.validate.js的使用介绍

热门文章

  1. 找第k个结点 剑指22
  2. Java开发介绍之JDK JRE JVM 和 环境变量配置
  3. C# WINFORM进销存系统开发(内涵免费源码+部分实操视频讲解)
  4. 关于如何在MyEclipse下修改项目名包名,以及类
  5. MySQL 在线开启&关闭GTID模式
  6. 洛谷 P5391 - [Cnoi2019]青染之心
  7. Java设计模式之(十四)——策略模式
  8. Python基础笔记4
  9. php背景透明png
  10. 详解 Rainbond Ingress 泛解析域名机制