Shell腳本實(shí)現(xiàn)監(jiān)視指定進(jìn)程的運(yùn)行狀態(tài)
在之前的博客中,曾經(jīng)寫了自動(dòng)化測試程序的實(shí)現(xiàn)方法,現(xiàn)在開發(fā)者需要知道被測試的進(jìn)程(在此指運(yùn)行在LINUX上的主進(jìn)程的)在異常退出之前的進(jìn)程的運(yùn)行狀態(tài),例如內(nèi)存的使用率、CPU的使用率等。
現(xiàn)用shell腳本實(shí)現(xiàn)指定進(jìn)程的運(yùn)行狀態(tài)。直接上代碼。
#!/bin/sh echo "`date`" echo "Start $0---------" echo "" #每十秒監(jiān)視一下 sec=10 #取得指定進(jìn)程名為mainAPP,內(nèi)存的使用率,進(jìn)程運(yùn)行狀態(tài),進(jìn)程名稱 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 ###發(fā)現(xiàn)測被測試程序異常退出后,停止測試程序 killall MyTester echo "stop TestProgram MyTester" fi echo "`date`" echo "---------------Current Status------------------" ps | grep -E "mainApp|SubApp" | grep -v grep echo ""
樣實(shí)現(xiàn)了每10s讀取一下進(jìn)程的狀態(tài),然后顯示出來,當(dāng)發(fā)現(xiàn)進(jìn)程存在并且狀態(tài)非Z(非僵尸)時(shí),繼續(xù)監(jiān)視,但是當(dāng)測試程序執(zhí)行完畢或是異常退出時(shí),該腳本也會退出監(jiān)視循環(huán),退出循環(huán)后,打印出指定進(jìn)程的狀態(tài)。
相關(guān)文章
Linux shell查找文件顯示行號和對應(yīng)區(qū)間的內(nèi)容
今天小編就為大家分享一篇關(guān)于Linux shell查找文件顯示行號和對應(yīng)區(qū)間的內(nèi)容,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12Shell腳本變量的只讀?刪除?類型及注釋語法基礎(chǔ)
這篇文章主要介紹了Shell腳本變量的只讀刪除類型及注釋語法基礎(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Linux shell 實(shí)現(xiàn)用for循環(huán)100次的方法
今天小編就為大家分享一篇Linux shell 實(shí)現(xiàn)用for循環(huán)100次的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06bash shell命令行選項(xiàng)與修傳入?yún)?shù)處理
本文介紹了bash shell命令行參數(shù)與命令行選項(xiàng)的操作方法,有關(guān)shell 命令行參數(shù)的實(shí)例教程,有需要的朋友參考下。2014-04-04Linux 怎么實(shí)現(xiàn)添加FTP用戶并設(shè)置權(quán)限的方法
這篇文章主要介紹了Linux 怎么實(shí)現(xiàn)添加FTP用戶并設(shè)置權(quán)限的方法的相關(guān)資料,這里對添加FTP用戶進(jìn)行了步驟詳解,需要的朋友可以參考下2017-01-01檢測網(wǎng)站down掉后自動(dòng)發(fā)信的shell腳本代碼
腳本用途:檢測指定文件中的網(wǎng)站url,當(dāng)一個(gè)網(wǎng)站down掉后,自動(dòng)給指定的郵箱發(fā)信2013-02-02詳談Linux寫時(shí)拷貝技術(shù)(copy-on-write)必看篇
下面小編就為大家?guī)硪黄斦凩inux寫時(shí)拷貝技術(shù)(copy-on-write)必看篇。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07