2009年1月7日 星期三

嘗試用短短的shell script去寫Watchdog

最近有時候會遇到vncserver的process出問題
慘劇分為兩種

第一種目前我還沒有找到解決方式
ps -ef|grep vnc
process還活著,可是整個遠端X Window呈現灰色
只能操作一個悽涼的X游標

一種是標準的整個process就乾淨地死掉了
ps -ef|grep vnc
那個process就是掛點了,沒有process殘留著
試著做個像watchdog的shell小程式
放進crontab去每隔一段時間就執行

#!/bin/ksh

TEST=`ps -ef| grep Xvnc | grep -v grep | wc -l`

if [ $TEST = 1 ]
then
#VNC server is still alive.
exit
else
#It's dead.
echo "Vncserver is dead. Restart the VNC server" >>chk_vnc.log
vncserver :6
xhost +
date +%Y/%m/%d_%T>>chk_vnc.log
fi

這個程式很簡單的檢查vnc的process還在不在
如果不在了就重新啟動vncserver
至於要是process還在記憶體裡,卻已經異常的情形
目前還沒有找到方法,等找到會在改善這隻小程式