A. 哪位大俠有linux下監控多個進程是否死掉。如果死掉就kill掉重啟,沒有該進程的話也重啟的shell腳本。
我以監控一個進程:「vmstat」命令的進程為例子。
#!/bin/bash
PROSS=`ps -el | grep vmstat | awk '{ print $14 }'`
STAT=`ps -el | grep vmstat | awk '{ print $2 }'`
PID=`ps -el | grep vmstat | awk '{ print $4 }'`
if [ $PROSS ]
then
if [ $STAT = "Z" ]
then
echo "$PROSS has dead"
echo "Now, killing it"
kill -9 $PID
echo "Now, restart"
vmstat 2 5 >> /tmp/vmstat.txt &
else
echo "$PROSS is running healthy"
fi
else
echo "The programm has dropped"
echo "Now, restart"
vmstat 2 5 >> /tmp/vmstat.txt &
fi
B. linux監測cpu腳本應該怎麼寫
你可以用top指令,加入你的進程id是1009,你可以使用如下命令試試監控他的性能指標: top -p 1009
C. 想在linux server平台下寫一個監控進程腳本,當這個進程down掉,立即執行重啟
都是腳本自己掛pid文件。檢測pid文件就是。
D. LINUX進程監控保護
幾種辦法,
1, 最簡單的,寫一個腳本,比如
#!/bin/sh
while true
do
./1234 xx bb
done
執行這個腳本,就不用擔心 1234 退出後出問題了。
2, 用上面的方法,你可能會提出,如果腳本本身被殺了怎麼辦…… 可以用定時任務,比如 通過 crontab 可以每分鍾去檢查一下1234進程是否還在
比如下面的腳本可以檢查 1234 是否存在,如果不存在就會自動啟動 1234
#!/bin/sh
ps -A | awk '{print $4}' | grep -q '^1234$'
if [ $? -ne 0]; then
/PATH/TO/1234 xx bb
fi
假定這個腳本叫 a.sh
然後用crontab -e增加定時任務
* * * * * /path/to/a.sh
即可。
E. linux腳本,實現監控進程的CPU和內存值
你可以用top指令,加入你的進程id是1009,你可以使用如下命令試試監控他的性能指標:
top-p1009
F. linux 進程監控和自動重啟腳本
ps -fe|grep X if [ $? -eq 0 ] then service restart X fi 然後把這段腳本放到crontab裡面,每分鍾執行一次就可以了
G. linux查看指定進程是否存在的腳本
ps aux | grep 進程名
假定程序名稱叫 test
ps aux | grep test
H. 求:linux 監控shell腳本運行時間
你的意思是某個進程不能不能超過5分鍾,否則觸發某個事件比如發送郵件或簡訊?
如果是這樣,腳本很好控制
直接在運行前記錄一個時間,然後創建一個lock文件
如果腳本完成,刪除pid
再sleep 300秒後判斷lock文件是否存在,如果不存在,退出,如果存在,報警,退出。