最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux下監(jiān)視進程 崩潰掛掉后自動重啟的shell腳本

 更新時間:2013年06月08日 00:42:00   作者:  
如何保證服務一直運行?如何保證即使服務掛掉了也能自動重啟?在寫服務程序時經(jīng)常會碰到這樣的問題。在Linux系統(tǒng)中,強大的shell就可以很靈活的處理這樣的事務
=================================================
本文為khler原作,轉(zhuǎn)載必須確保本文完整并完整保留原作者信息及本文原始鏈接
Author: HeYuanHui
E-mail: khler@163.com
QQ: 23381103
MSN: pragmac@hotmail.com
=================================================

如何保證服務一直運行?如何保證即使服務掛掉了也能自動重啟?在寫服務程序時經(jīng)常會碰到這樣的問題。在Linux系統(tǒng)中,強大的shell就可以很靈活的處理這樣的事務。
下面的shell通過一個while-do循環(huán),用ps -ef|grep 檢查loader進程是否正在運行,如果沒有運行,則啟動,這樣就保證了崩潰掛掉的進程重新被及時啟動。
必須注意兩點:
1、ps |grep 一個進程時必須加上其路勁,否則容易grep到錯誤的結(jié)果;
2、必須用 -v 從結(jié)果中去除grep命令自身,否則結(jié)果非空。
復制代碼 代碼如下:

#!/bin/sh
#=====================
#YuanHui.HE
#khler@163.com
#=====================
while :
do
echo "Current DIR is " $PWD
stillRunning=$(ps -ef |grep "$PWD/loader" |grep -v "grep")
if [ "$stillRunning" ] ; then
echo "TWS service was already started by another way"
echo "Kill it and then startup by this shell, other wise this shell will loop out this message annoyingly"
kill -9 $pidof $PWD/loader
else
echo "TWS service was not started"
echo "Starting service ..."
$PWD/loader
echo "TWS service was exited!"
fi
sleep 10
done

如果啟動此shell時發(fā)現(xiàn)進程已經(jīng)存在,說明以別的方式啟動了進程而不是此shell,那么它會持續(xù)提醒找到進程,解決辦法是,要么只用此shell啟動服務,要么一經(jīng)發(fā)現(xiàn)以其他方式啟動的服務即kill掉,上面的語句就是這么干的:
kill -9 $pidof $PWD/loader

相關(guān)文章

最新評論

临漳县| 大英县| 安福县| 林甸县| 奉化市| 仙游县| 漳平市| 新丰县| 姜堰市| 棋牌| 望谟县| 黄梅县| 外汇| 县级市| 安徽省| 西和县| 永嘉县| 永川市| 吉隆县| 昆山市| 伊金霍洛旗| 会东县| 青河县| 个旧市| 成安县| 尚志市| 即墨市| 虞城县| 瓦房店市| 会东县| 金川县| 永宁县| 长春市| 静安区| 酒泉市| 五家渠市| 武安市| 比如县| 大理市| 徐州市| 措美县|