專利名稱:一種Linux下進(jìn)程監(jiān)護(hù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)系統(tǒng)領(lǐng)域,具體地說是一種Linux下進(jìn)程監(jiān)護(hù)的方法。計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域中針對進(jìn)程維護(hù)的簡單有效的處理方法。
背景技術(shù):
隨著計(jì)算機(jī)和通訊技術(shù)的不斷發(fā)展,計(jì)算機(jī)與通訊線路及設(shè)備結(jié)合起來實(shí)現(xiàn)人與計(jì)算機(jī)、計(jì)算機(jī)與計(jì)算機(jī)之間的通訊,不僅使各用戶計(jì)算機(jī)的利用率大大提高,而且極大地?cái)U(kuò)展了計(jì)算機(jī)的應(yīng)用范圍,并使各用戶實(shí)現(xiàn)計(jì)算機(jī)軟硬件資源與數(shù)據(jù)資源的共享。在Linux系統(tǒng)下,當(dāng)一個(gè)應(yīng)用系統(tǒng)有多個(gè)進(jìn)程來支持時(shí),會存在進(jìn)程異常退出的情況,傳統(tǒng)的進(jìn)程維護(hù)的方法由一個(gè)進(jìn)程來監(jiān)護(hù)其他所有的應(yīng)用進(jìn)程,這種情況存在一定的風(fēng)險(xiǎn),當(dāng)負(fù)責(zé)監(jiān)護(hù)的進(jìn)程一旦異常退出后,就無法對其他進(jìn)程起到監(jiān)護(hù)作用了。
發(fā)明內(nèi)容
針對目前Iinux系統(tǒng)中進(jìn)程維護(hù)技術(shù)方面的不足之處,本發(fā)明提出一種對進(jìn)程維護(hù)簡單有效的處理方法。本發(fā)明的一種Linux下進(jìn)程監(jiān)護(hù)的方法,是按如下方式實(shí)現(xiàn)的該方法的體系結(jié)構(gòu)包括一個(gè)監(jiān)護(hù)進(jìn)程、所有應(yīng)用程序進(jìn)程;
其中監(jiān)護(hù)進(jìn)程是該方法的主體,具有三個(gè)功能,第一個(gè)功能是監(jiān)視應(yīng)用系統(tǒng)內(nèi)所有進(jìn)程的狀態(tài);第二個(gè)功能為當(dāng)發(fā)現(xiàn)應(yīng)用系統(tǒng)內(nèi)有進(jìn)程退出時(shí)啟動退出的進(jìn)程,使其繼續(xù)工作;第三個(gè)功能是啟動監(jiān)護(hù)進(jìn)程時(shí),自我檢測,檢測系統(tǒng)下是否已經(jīng)存在監(jiān)護(hù)進(jìn)程;所有應(yīng)用進(jìn)程系統(tǒng)具有額外兩個(gè)功能,第一個(gè)功能檢測監(jiān)護(hù)進(jìn)程是否退出;第二個(gè)功能若監(jiān)護(hù)進(jìn)程退出,則啟動監(jiān)護(hù)進(jìn)程。該方法的具體實(shí)現(xiàn)過程為在應(yīng)用系統(tǒng)內(nèi)編寫一個(gè)監(jiān)護(hù)進(jìn)程,該監(jiān)護(hù)進(jìn)程負(fù)責(zé)監(jiān)護(hù)應(yīng)用系統(tǒng)內(nèi)所有程序進(jìn)程的狀態(tài),當(dāng)有應(yīng)用程序進(jìn)程異常退出時(shí),監(jiān)護(hù)進(jìn)程就會啟動該異常應(yīng)用程序;同時(shí)應(yīng)用系統(tǒng)內(nèi)的所有進(jìn)程都啟動一個(gè)線程用于監(jiān)視監(jiān)護(hù)進(jìn)程,當(dāng)監(jiān)護(hù)進(jìn)程異常退出時(shí),系統(tǒng)內(nèi)的進(jìn)程會啟動監(jiān)護(hù)進(jìn)程,使其繼續(xù)監(jiān)護(hù)其他進(jìn)程;
在應(yīng)用程序進(jìn)程啟動監(jiān)護(hù)進(jìn)程時(shí),監(jiān)護(hù)進(jìn)程自己有一個(gè)自檢行為,判斷系統(tǒng)中是否已存在該監(jiān)護(hù)進(jìn)程,若存在,則不再啟動監(jiān)護(hù)進(jìn)程,若不存在,則啟動監(jiān)護(hù)進(jìn)程。本發(fā)明的一種Linux下進(jìn)程監(jiān)護(hù)的方法的有益效果是該進(jìn)程監(jiān)護(hù)方法采用應(yīng)用系統(tǒng)內(nèi)所有的進(jìn)程都監(jiān)視監(jiān)護(hù)進(jìn)程,避免了監(jiān)護(hù)進(jìn)程和負(fù)責(zé)監(jiān)視監(jiān)護(hù)進(jìn)程的那個(gè)進(jìn)程同時(shí)異常退出,降低了監(jiān)護(hù)風(fēng)險(xiǎn),提高了系統(tǒng)的安全性。
附圖1為該方法的監(jiān)護(hù)進(jìn)程的工作示意 附圖2為該方法的應(yīng)用程序進(jìn)程監(jiān)視監(jiān)護(hù)進(jìn)程的工作示意圖; 附圖3為該方法的監(jiān)護(hù)進(jìn)程自檢流程圖。
具體實(shí)施例方式下面參照附圖,對本發(fā)明的一種Linux下進(jìn)程監(jiān)護(hù)的方法作進(jìn)一步詳細(xì)說明。
本發(fā)明所述方法的體系結(jié)構(gòu)包括一個(gè)監(jiān)護(hù)進(jìn)程、所有應(yīng)用程序進(jìn)程;其中監(jiān)護(hù)進(jìn)程是
該方法的主體,具有三個(gè)功能,第一個(gè)功能是監(jiān)視應(yīng)用系統(tǒng)內(nèi)所有進(jìn)程的狀態(tài);第二個(gè)功能為當(dāng)發(fā)現(xiàn)應(yīng)用系統(tǒng)內(nèi)有進(jìn)程退出時(shí)啟動退出的進(jìn)程,使其繼續(xù)工作;第三個(gè)功能是啟動監(jiān)護(hù)進(jìn)程時(shí),自我檢測,檢測系統(tǒng)下是否已經(jīng)存在監(jiān)護(hù)進(jìn)程;所有應(yīng)用進(jìn)程系統(tǒng)具有額外兩個(gè)功能,第一個(gè)功能檢測監(jiān)護(hù)進(jìn)程是否退出;第二個(gè)功能若監(jiān)護(hù)進(jìn)程退出,則啟動監(jiān)護(hù)進(jìn)程。實(shí)施例
該方法體系結(jié)構(gòu)包括一個(gè)監(jiān)護(hù)進(jìn)程A、應(yīng)用程序進(jìn)程B和應(yīng)用程序進(jìn)程C等其他應(yīng)用程序進(jìn)程;
其中進(jìn)程A具有三個(gè)功能,第一個(gè)功能檢測應(yīng)用系統(tǒng)下的進(jìn)程的狀態(tài);第二個(gè)功能啟動應(yīng)用下同下退出的進(jìn)程;第三個(gè)功能進(jìn)程A啟動時(shí)檢測系統(tǒng)下是否已存在該進(jìn)程;進(jìn)程B和進(jìn)程C以及應(yīng)用系統(tǒng)下其他進(jìn)程具有額外兩個(gè)功能,第一個(gè)功能檢測進(jìn)程A是否退出;第二個(gè)功能如果進(jìn)程A退出,則啟動進(jìn)程A。如圖1所示,監(jiān)護(hù)進(jìn)程A是該方法的主體,負(fù)責(zé)監(jiān)護(hù)進(jìn)程B、進(jìn)程C以及多個(gè)應(yīng)用程序進(jìn)程的狀態(tài),當(dāng)進(jìn)程B或者進(jìn)程C異常退出時(shí),進(jìn)程A就會啟動進(jìn)程B或者進(jìn)程C。當(dāng)進(jìn)程A異常退出時(shí),進(jìn)程B和進(jìn)程C就會啟動進(jìn)程A。如圖2所示。當(dāng)進(jìn)程A啟動時(shí),進(jìn)程A自己有一個(gè)自檢行為,自檢的目的是查看系統(tǒng)下是否已經(jīng)存在進(jìn)程A,如果存在,則不再啟動,如果不存在,則啟動。如圖3所示。除說明書所述技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種Linux下進(jìn)程監(jiān)護(hù)的方法,其特征在于,該方法的體系結(jié)構(gòu)包括一個(gè)監(jiān)護(hù)進(jìn)程和所有應(yīng)用程序進(jìn)程;其中監(jiān)護(hù)進(jìn)程是該方法的主體,具有三個(gè)功能第一個(gè)功能是監(jiān)視應(yīng)用系統(tǒng)內(nèi)所有進(jìn)程的狀態(tài);第二個(gè)功能為當(dāng)發(fā)現(xiàn)應(yīng)用系統(tǒng)內(nèi)有進(jìn)程退出時(shí)啟動退出的進(jìn)程,使其繼續(xù)工作; 第三個(gè)功能是啟動監(jiān)護(hù)進(jìn)程時(shí),自我檢測,檢測系統(tǒng)下是否已經(jīng)存在監(jiān)護(hù)進(jìn)程;所有應(yīng)用進(jìn)程系統(tǒng)具有額外兩個(gè)功能第一個(gè)功能,檢測監(jiān)護(hù)進(jìn)程是否退出;第二個(gè)功能,若監(jiān)護(hù)進(jìn)程退出,則啟動監(jiān)護(hù)進(jìn)程;該方法的具體實(shí)現(xiàn)過程為在應(yīng)用系統(tǒng)內(nèi)編寫一個(gè)監(jiān)護(hù)進(jìn)程,該監(jiān)護(hù)進(jìn)程負(fù)責(zé)監(jiān)護(hù)應(yīng)用系統(tǒng)內(nèi)所有程序進(jìn)程的狀態(tài),當(dāng)有應(yīng)用程序進(jìn)程異常退出時(shí),監(jiān)護(hù)進(jìn)程就會啟動該異常應(yīng)用程序;同時(shí)應(yīng)用系統(tǒng)內(nèi)的所有進(jìn)程都啟動一個(gè)線程用于監(jiān)視監(jiān)護(hù)進(jìn)程,當(dāng)監(jiān)護(hù)進(jìn)程異常退出時(shí),系統(tǒng)內(nèi)的進(jìn)程會啟動監(jiān)護(hù)進(jìn)程,使其繼續(xù)監(jiān)護(hù)其他進(jìn)程。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于啟動監(jiān)護(hù)進(jìn)程在應(yīng)用程序進(jìn)程啟動監(jiān)護(hù)進(jìn)程時(shí),監(jiān)護(hù)進(jìn)程自己有一個(gè)自檢行為,判斷系統(tǒng)中是否已存在該監(jiān)護(hù)進(jìn)程,若存在,則不再啟動監(jiān)護(hù)進(jìn)程,若不存在,則啟動監(jiān)護(hù)進(jìn)程。
全文摘要
本發(fā)明的一種Linux下進(jìn)程監(jiān)護(hù)的方法,涉及到計(jì)算機(jī)應(yīng)用技術(shù)系統(tǒng)領(lǐng)域,其系統(tǒng)結(jié)構(gòu)包括一個(gè)監(jiān)護(hù)進(jìn)程、所有應(yīng)用程序進(jìn)程;其中監(jiān)護(hù)進(jìn)程是該方法的主體,具有三個(gè)功能第一個(gè)功能是監(jiān)視應(yīng)用系統(tǒng)內(nèi)所有進(jìn)程的狀態(tài);第二個(gè)功能為當(dāng)發(fā)現(xiàn)應(yīng)用系統(tǒng)內(nèi)有進(jìn)程退出時(shí)啟動退出的進(jìn)程,使其繼續(xù)工作;第三個(gè)功能是啟動監(jiān)護(hù)進(jìn)程時(shí),自我檢測,檢測系統(tǒng)下是否已經(jīng)存在監(jiān)護(hù)進(jìn)程;所有應(yīng)用進(jìn)程系統(tǒng)具有額外兩個(gè)功能第一個(gè)功能,檢測監(jiān)護(hù)進(jìn)程是否退出;第二個(gè)功能,若監(jiān)護(hù)進(jìn)程退出,則啟動監(jiān)護(hù)進(jìn)程。本發(fā)明的有益效果是該方法采用應(yīng)用系統(tǒng)內(nèi)所有的進(jìn)程都監(jiān)視監(jiān)護(hù)進(jìn)程,降低了監(jiān)護(hù)風(fēng)險(xiǎn),提高了系統(tǒng)的安全性。
文檔編號G06F9/445GK102999412SQ201210474480
公開日2013年3月27日 申請日期2012年11月21日 優(yōu)先權(quán)日2012年11月21日
發(fā)明者張道偉, 王旭, 呂萬波 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司