亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

相關(guān)文章

  • 一鍵配置本地yum源的shell腳本

    一鍵配置本地yum源的shell腳本

    這篇文章主要介紹了一鍵配置本地yum源的shell腳本,幫助大家更好的理解和學(xué)習(xí)shell,感興趣的朋友可以了解下
    2020-09-09
  • Linux Vim 實(shí)用命令詳解

    Linux Vim 實(shí)用命令詳解

    這篇文章主要介紹了Linux Vim 實(shí)用命令,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 進(jìn)程狀態(tài)ps -ef中的e、f含義講解

    進(jìn)程狀態(tài)ps -ef中的e、f含義講解

    這篇文章主要介紹了進(jìn)程狀態(tài)ps -ef中的e、f含義講解,通過本文學(xué)習(xí)我們知道-e和-A都顯示有關(guān)其他用戶進(jìn)程的信息,包括那些沒有控制終端的進(jìn)程,-f顯示用戶id,進(jìn)程id,父進(jìn)程id,最近CPU使用情況,進(jìn)程開始時間等等,具體含義及更多命令跟隨小編通過本文學(xué)習(xí)
    2022-11-11
  • shell腳本讀取命令行參數(shù)的實(shí)現(xiàn)

    shell腳本讀取命令行參數(shù)的實(shí)現(xiàn)

    本文主要介紹了shell腳本讀取命令行參數(shù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • shell腳本學(xué)習(xí)指南[二](Arnold Robbins & Nelson H.F. Beebe著)

    shell腳本學(xué)習(xí)指南[二](Arnold Robbins & Nelson H.F. Beebe著)

    這篇文章主要介紹了shell腳本學(xué)習(xí)指南[二](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下
    2014-02-02
  • 詳解Linux常用的四種壓縮命令

    詳解Linux常用的四種壓縮命令

    這篇文章主要詳細(xì)介紹了Linux常用的四種壓縮命令,tar命令,gzip命令,rar命令和zip命令,并通過代碼示例給大家講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-03-03
  • Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果

    Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果

    腳本中常常要獲取一些命令的執(zhí)行結(jié)果,比如當(dāng)前目錄pwd、當(dāng)前時間date等等,下面這篇文章主要給大家介紹了關(guān)于Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果,需要的朋友可以參考下
    2023-06-06
  • 在多個?Linux?服務(wù)器上運(yùn)行多個命令的操作指南

    在多個?Linux?服務(wù)器上運(yùn)行多個命令的操作指南

    如果你正在管理多臺?Linux?服務(wù)器,并且你想在所有?Linux?服務(wù)器上運(yùn)行多個命令,但你不知道該怎么做,不用擔(dān)心,本文我們將向您展示如何在多個?Linux?服務(wù)器上同時運(yùn)行多個命令,需要的朋友可以參考下
    2023-07-07
  • shell字符截取命令之cut命令的實(shí)例詳解

    shell字符截取命令之cut命令的實(shí)例詳解

    這篇文章主要介紹了shell字符截取命令之cut命令的實(shí)例詳解的相關(guān)資料,希望通過本文大家能夠掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • Bash中數(shù)組的操作教程

    Bash中數(shù)組的操作教程

    這篇文章主要介紹了Bash數(shù)組操,包括定義數(shù)組、讀取數(shù)組、修改數(shù)組以及數(shù)組循環(huán),文中通過示例代碼給出了詳細(xì)的介紹,有需要的朋友可以參考下,下面來一起看看吧。
    2016-12-12

最新評論