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脚本之监视指定进程的执行状态的更多相关文章
- Shell脚本实现监视指定进程的运行状态
在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率.CPU的使用率等. 现用shel ...
- 在Shell脚本中获取指定进程的PID
注意这条命令用反引号(Tab上面的那个键)括起来,作用类似于${ } processId = ` ps -ef | grep fms.jar | grep -v grep | awk '{print ...
- shell 脚本实现的守护进程
转自:http://blog.csdn.net/cybertan/article/details/3235722 转自:http://blog.sina.com.cn/s/blog_4c451e0e0 ...
- shell脚本(管理守护进程)
工作中常常会遇到处理消息队列的消费者进程,这样的进程是一个守护进程,即一个服务.服务通常写个shell脚本来管理,查询服务的status ,启动start 关闭stop 重启reload.最近在学 ...
- 在linux中安装jdk以及tomcat并shell脚本关闭启动的进程
在命令行模式中输入uname -a ,如下图,当界面展示i386就说明本linux系统为32版本,就在官网下载对应jdk版本,或者直接到我的网盘上下载http://pan.baidu.com/s/1c ...
- Shell 脚本 ,, 根据进程号退出 从而关机
#!/bin/bash fun(){ ps -ef | grep "$1" | awk '{print $2 $8}' > /usr/file while read line ...
- shell脚本实现定时重启进程
##############################Deploy crontab for yechang ad*******eta restart ###################### ...
- shell脚本对多端口进程kill并重启进程
#!/bin/bash export LOG_FILE='/data/log/search' spider_search_pid=`ps aux|grep flask_web_search|grep ...
- shell脚本,在指定目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件。
[root@localhost wyb]# cat test10.sh #!/bin/bash #使用for循环在/test10目录下通过随机小写10个字母加固定字符串oldboy批量创建10个htm ...
随机推荐
- javascript字符串处理方法
字符串处理方法 1.字符串合并操作:“ + ”2.parseInt() 将数字字符串转化为整数3.parseFloat() 将数字字符串转化为小数4.split() 把一个字符串分隔成字符串组成的数组 ...
- scrapy-splash抓取动态数据例子十四
一.介绍 本例子用scrapy-splash爬取超级TV网站的资讯信息,输入给定关键字抓取微信资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4. ...
- 【日志处理、监控ELK、Kafka、Flume等相关资料】
服务介绍 随着实时分析技术的发展及成本的降低,用户已经不仅仅满足于离线分析.目前我们服务的用户包括微博,微盘,云存储,弹性计算平台等十多个部门的多个产品的日志搜索分析业务,每天处理约32亿条(2TB) ...
- Hex dump
Hex dump From Wikipedia, the free encyclopedia A hex dump of the 318 byte Wikipedia favicon In ...
- PLSQL中scott账户登录不上,报错ORA-01017: invalid username/password; logon denied
问题:PLSQL中scott账户登录不上,提示上述错误 解决方法: 1. cmd——>进入c目录; 2. 输入:sqlplus/nolog; 3. connect username/passwo ...
- Hibernate单向“多对一”关联
1. 基于外键关联的单向“多对一”关联是最常见的单向关联其中指定many-to-one的unique="true",为单向“一对一”,不指定就是单向“多对一” <class ...
- 在Eclipse中导入dtd和xsd文件,使XML自动提示(转)
DTD 类型约束文件 1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add 按纽 ...
- spring学习笔记(五)
1.后置通知 需求:调用相应业务方法后,完成资源的关闭. a. 在beans.xml中配置 .... <beans> <!--配置被代理对象--> <bean id=&q ...
- js知识地图--js大脑图beta01版正式发布
原文地址 http://zhangyaochun.iteye.com/blog/1682605 原作者:zhangyaochun
- excel单元格内插入选择项pass、fail、not support等
1.点击菜单栏的数据—-->>数据验证 2.选择 序列 在 来源 选项中填入Pass,Fail,On Going,Not Support 3.在选中的单元格并在菜单栏选中 新建规则