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