Shell 批量進(jìn)程判斷是否存在
通過(guò)ps -ef | grep tomcat
判斷進(jìn)程是否存在
1. 把需要點(diǎn)檢的tomcat路徑放到一個(gè)txt中,一行寫(xiě)一個(gè)tomcat,名字為demo.txt
/home/app/tomcat_8555_pis /home/app/tomcat_test8556 /home/app/tomcat_test8557 /home/app/tomcat_test8558 /home/app/tomcat_test8559 /home/app/tomcat_test8560 test_not_found test_not_found
2. 撰寫(xiě)腳本 demo.sh
#!/bin/bash -v # 獲取默認(rèn)的參數(shù)值 echo '輸入的文件參數(shù)為:' $1 file_name="$1" if [ -z "${file_name}" ];then file_name="$0" file_name="${file_name%*.sh}.txt" fi echo "實(shí)際的文件參數(shù)為:${file_name}" # 檢測(cè)進(jìn)程是否存在 # 如果有存在就顯示OK, 不存在就顯示NG function check_info(){ processString="$1" echo "$(date '+%Y-%m-%d %H:%M:%S') 檢測(cè)的字符串:$processString 開(kāi)始 ------------------------------------------------------------------ " ps -fe | grep "$processString" | grep -v grep if [ $? -eq 0 ]; then echo -e "$(date '+%Y-%m-%d %H:%M:%S') 檢測(cè)的字符串:${processString} \033[42;34m 結(jié)果:OK \033[0m" else echo -e "$(date '+%Y-%m-%d %H:%M:%S') 檢測(cè)的字符串:${processString} \033[41;30m 結(jié)果:NG \033[0m" echo $processString >> "${file_name}.error.log" fi # 打印明細(xì) echo "$(date '+%Y-%m-%d %H:%M:%S') 進(jìn)程明細(xì)如下:----------------" ps -fe | grep "$processString" ps -fe | grep "$processString" > "${file_name%.sh}.error.log" echo "$(date '+%Y-%m-%d %H:%M:%S') 進(jìn)程明細(xì)結(jié)束:----------------" echo "$(date '+%Y-%m-%d %H:%M:%S') 檢測(cè)的字符串:$processString 結(jié)束 ------------------------------------------------------------------ " echo '' echo '' } # exit echo '開(kāi)始執(zhí)行' > "${file_name}.error.log" cat "${file_name}" | while read line do if [ -n "$line" ];then echo $line check_info $line fi done
3. 啟動(dòng)
sh -v ./demo.sh demo.txt sh -v ./demo.sh 2>&1 | tee demo.log
tee命令
tee指令會(huì)從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù),將其內(nèi)容輸出到標(biāo)準(zhǔn)輸出設(shè)備,同時(shí)保存成文件。
到此這篇關(guān)于Shell 批量進(jìn)程判斷是否存在的文章就介紹到這了,更多相關(guān)Shell 批量進(jìn)程判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本查看網(wǎng)卡實(shí)時(shí)流量
這篇文章主要介紹了Shell腳本查看網(wǎng)卡實(shí)時(shí)流量,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12Linux crontab定時(shí)執(zhí)行Shell腳本需要執(zhí)行特定的命令時(shí)解決思路
今天小編就為大家分享一篇關(guān)于Linux crontab定時(shí)執(zhí)行Shell腳本需要執(zhí)行特定的命令時(shí)解決思路,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01Shell腳本制作的終端會(huì)話(huà)回放功能腳本分享
這篇文章主要介紹了Shell腳本制作的終端會(huì)話(huà)回放功能腳本分享,本文分兩個(gè)文件,Record.sh是用來(lái)記錄你所執(zhí)行的命令和屏幕的輸出的,而Replay.sh是用來(lái)回放Record.sh所錄制的內(nèi)容的,需要的朋友可以參考下2014-11-11shell中各種括號(hào)的作用詳解()、(())、[]、[[]]、{}(推薦)
本文給大家收藏整理了shell中各種括號(hào)的作用,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09