Shell 批量進程判斷是否存在
通過ps -ef | grep tomcat判斷進程是否存在
1. 把需要點檢的tomcat路徑放到一個txt中,一行寫一個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. 撰寫腳本 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ù)為:${file_name}"
# 檢測進程是否存在
# 如果有存在就顯示OK, 不存在就顯示NG
function check_info(){
processString="$1"
echo "$(date '+%Y-%m-%d %H:%M:%S') 檢測的字符串:$processString 開始 ------------------------------------------------------------------ "
ps -fe | grep "$processString" | grep -v grep
if [ $? -eq 0 ]; then
echo -e "$(date '+%Y-%m-%d %H:%M:%S') 檢測的字符串:${processString} \033[42;34m 結(jié)果:OK \033[0m"
else
echo -e "$(date '+%Y-%m-%d %H:%M:%S') 檢測的字符串:${processString} \033[41;30m 結(jié)果:NG \033[0m"
echo $processString >> "${file_name}.error.log"
fi
# 打印明細
echo "$(date '+%Y-%m-%d %H:%M:%S') 進程明細如下:----------------"
ps -fe | grep "$processString"
ps -fe | grep "$processString" > "${file_name%.sh}.error.log"
echo "$(date '+%Y-%m-%d %H:%M:%S') 進程明細結(jié)束:----------------"
echo "$(date '+%Y-%m-%d %H:%M:%S') 檢測的字符串:$processString 結(jié)束 ------------------------------------------------------------------ "
echo ''
echo ''
}
# exit
echo '開始執(zhí)行' > "${file_name}.error.log"
cat "${file_name}" | while read line
do
if [ -n "$line" ];then
echo $line
check_info $line
fi
done
3. 啟動
sh -v ./demo.sh demo.txt sh -v ./demo.sh 2>&1 | tee demo.log
tee命令
tee指令會從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù),將其內(nèi)容輸出到標(biāo)準(zhǔn)輸出設(shè)備,同時保存成文件。

到此這篇關(guān)于Shell 批量進程判斷是否存在的文章就介紹到這了,更多相關(guān)Shell 批量進程判斷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux使用curl訪問網(wǎng)頁和wget下載文件
這篇文章介紹了Linux使用curl命令訪問網(wǎng)頁和wget下載文件的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
檢測網(wǎng)站down掉后自動發(fā)信的shell腳本代碼
腳本用途:檢測指定文件中的網(wǎng)站url,當(dāng)一個網(wǎng)站down掉后,自動給指定的郵箱發(fā)信2013-02-02
統(tǒng)計網(wǎng)卡流量的兩段shell腳本(使用ifconfig)
一個很小巧的shell腳本,使用ifconfig的不間斷輸出來統(tǒng)計網(wǎng)卡的流量,有需要的朋友可以參考下2013-02-02

