亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種Linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法及裝置與流程

文檔序號:11386420閱讀:1898來源:國知局
一種Linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,具體涉及一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法及裝置。



背景技術(shù):

目前,大多數(shù)的進(jìn)程監(jiān)控系統(tǒng),都是被監(jiān)控進(jìn)程主動發(fā)起的信號,然后監(jiān)控進(jìn)程根據(jù)不同的信號做出不同的動作,因此,監(jiān)控進(jìn)程屬于被動接受;由此而生的就容易出現(xiàn)一個問題,如果被監(jiān)控進(jìn)程出現(xiàn)死循環(huán)或者其它異?,F(xiàn)象,導(dǎo)致通信阻塞,被監(jiān)控進(jìn)程不能發(fā)出信號,監(jiān)控進(jìn)程不能及時做出響應(yīng),導(dǎo)致系統(tǒng)出現(xiàn)異常。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于,為解決上述技術(shù)問題,提供一種能實(shí)時的檢測進(jìn)程是否出現(xiàn)異常的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法及裝置。

為解決上述技術(shù)問題,本發(fā)明采用如下的技術(shù)方案:

本發(fā)明提供一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,包括如下步驟:

監(jiān)控進(jìn)程在被監(jiān)控進(jìn)程啟動以及監(jiān)控進(jìn)程進(jìn)行第一監(jiān)控步驟和第二監(jiān)控步驟后,與被監(jiān)控進(jìn)程開始進(jìn)行數(shù)據(jù)通信,并接受被監(jiān)控進(jìn)程對通信數(shù)據(jù)的監(jiān)控;

所述第一監(jiān)控步驟包括周期檢測被監(jiān)控進(jìn)程是否響應(yīng),發(fā)送通信數(shù)據(jù)給被監(jiān)控進(jìn)程并獲得檢測值;

所述第二監(jiān)控步驟包括周期檢測所述第一監(jiān)控步驟中的檢測值,并判斷所述檢測值是否有變化。

如前述的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,所述第一監(jiān)控步驟具體包括:

a、在監(jiān)控進(jìn)程給被監(jiān)控進(jìn)程發(fā)送的通信數(shù)據(jù)后,所述被監(jiān)控進(jìn)程進(jìn)行一遍主業(yè)務(wù)邏輯處理,如果系統(tǒng)正常,則監(jiān)控進(jìn)程收到被監(jiān)控進(jìn)程的響應(yīng),如果被監(jiān)控進(jìn)程出現(xiàn)異常,則監(jiān)控進(jìn)程無法收到響應(yīng)數(shù)據(jù);

b、監(jiān)控進(jìn)程接收到被監(jiān)控進(jìn)程的響應(yīng)后,檢測值加一;如果被監(jiān)控進(jìn)程出現(xiàn)異常,則監(jiān)控進(jìn)程的檢測值保持不變;

c、所述監(jiān)控進(jìn)程在等待n秒后,循環(huán)執(zhí)行步驟a。

如前述的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,所述第二監(jiān)控步驟具體為:

a、檢測第一監(jiān)控步驟中的檢測值,如果上次檢測值和本次檢測值相同,進(jìn)入步驟b,如果上次檢測值和本次檢測值不相同,直接進(jìn)入步驟c;m為檢測周期,大于等于2;

b、所述監(jiān)控進(jìn)程主動結(jié)束掉被監(jiān)控進(jìn)程,重新啟動被監(jiān)控進(jìn)程;

c、在等待n*m秒后,回到步驟a,循環(huán)執(zhí)行第二監(jiān)控步驟。

本發(fā)明還提供一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的裝置,包括:

通信單元:用于使監(jiān)控進(jìn)程在被監(jiān)控進(jìn)程啟動以及監(jiān)控進(jìn)程啟動第一監(jiān)控單元和第二監(jiān)控單元后,與被監(jiān)控進(jìn)程開始進(jìn)行數(shù)據(jù)通信,并接受被監(jiān)控進(jìn)程對通信數(shù)據(jù)的監(jiān)控;

所述第一監(jiān)控單元用于周期檢測被監(jiān)控進(jìn)程是否響應(yīng),發(fā)送通信數(shù)據(jù)給被監(jiān)控進(jìn)程并獲得檢測值;

所述第二監(jiān)控單元用于周期檢測所述第一監(jiān)控單元中的檢測值,并判斷所述檢測值是否有變化。

如前述的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的裝置,所述第一監(jiān)控單元具體包括:

響應(yīng)單元:用于在第一監(jiān)控單元給被監(jiān)控進(jìn)程發(fā)送的通信數(shù)據(jù)后,所述被監(jiān)控進(jìn)程進(jìn)行一遍主業(yè)務(wù)邏輯處理,如果系統(tǒng)正常,則第一監(jiān)控單元收到被監(jiān)控進(jìn)程的響應(yīng),如果被監(jiān)控進(jìn)程出現(xiàn)異常,則第一監(jiān)控單元無法收到響應(yīng)數(shù)據(jù),執(zhí)行檢測值計(jì)算單元;

檢測值計(jì)算單元:用于在監(jiān)控進(jìn)程接收到被監(jiān)控進(jìn)程的響應(yīng)后,檢測值加一;如果被監(jiān)控進(jìn)程出現(xiàn)異常,則第一監(jiān)控單元的檢測值保持不變;

第一循環(huán)單元:用于在所述第一監(jiān)控單元等待n秒后,重新回到并執(zhí)行通信及響應(yīng)單元。

如前述的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的裝置,所述第二監(jiān)控單元包括:

檢測值探測單元:用于檢測第一監(jiān)控單元中的檢測值,如果上次檢測值和本次檢測值相同,進(jìn)入進(jìn)程重啟單元,如果上次檢測值和本次檢測值不相同,直接進(jìn)入執(zhí)行第二循環(huán)單元,m為檢測周期,大于等于2;

進(jìn)程重啟單元:用于第二監(jiān)控單元主動結(jié)束掉被監(jiān)控進(jìn)程,重新啟動被監(jiān)控進(jìn)程;

第二循環(huán)單元:用于使所述第二監(jiān)控單元在等待n*m秒后,回到檢測值探測單元,循環(huán)執(zhí)行第二監(jiān)控單元。

與現(xiàn)有技術(shù)相比,本發(fā)明通過修改監(jiān)控進(jìn)程被動接受被監(jiān)控進(jìn)程信號的方式為監(jiān)控進(jìn)程主動探測被監(jiān)控進(jìn)程的狀態(tài),執(zhí)行相應(yīng)的動作,從而能夠在被監(jiān)控進(jìn)程出現(xiàn)死循環(huán)或者其它異?,F(xiàn)象時,在不影響監(jiān)控進(jìn)程的通信請求的情況下,監(jiān)控進(jìn)程能立即發(fā)現(xiàn)問題,重啟被監(jiān)控進(jìn)程,使正在運(yùn)行的系統(tǒng)迅速恢復(fù)正常。

附圖說明

圖1為本發(fā)明中一種實(shí)施例方法流程示意圖;

圖2為本發(fā)明中另一種實(shí)施例方法流程示意圖;

圖3為本發(fā)明中一種實(shí)施例中裝置結(jié)構(gòu)示意圖;

圖4為本發(fā)明中另一種實(shí)施例中裝置結(jié)構(gòu)示意圖。

下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步的說明。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。

本發(fā)明實(shí)施例1,如圖1所示,本發(fā)明提供一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,包括如下步驟:

監(jiān)控進(jìn)程在被監(jiān)控進(jìn)程啟動以及監(jiān)控進(jìn)程進(jìn)行第一監(jiān)控步驟和第二監(jiān)控步驟后,與被監(jiān)控進(jìn)程開始進(jìn)行數(shù)據(jù)通信,并接受被監(jiān)控進(jìn)程對通信數(shù)據(jù)的監(jiān)控;

所述第一監(jiān)控步驟包括周期檢測被監(jiān)控進(jìn)程是否響應(yīng),發(fā)送通信數(shù)據(jù)給被監(jiān)控進(jìn)程并獲得檢測值;

所述第二監(jiān)控步驟包括周期檢測所述第一監(jiān)控步驟中的檢測值,并判斷所述檢測值是否有變化。

本發(fā)明實(shí)施例2,如圖2所示,本發(fā)明提供一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,包括如下步驟:

監(jiān)控進(jìn)程在被監(jiān)控進(jìn)程啟動以及監(jiān)控進(jìn)程進(jìn)行第一監(jiān)控步驟和第二監(jiān)控步驟后,與被監(jiān)控進(jìn)程開始進(jìn)行數(shù)據(jù)通信,并接受被監(jiān)控進(jìn)程對通信數(shù)據(jù)的監(jiān)控;

所述第一監(jiān)控步驟包括周期檢測被監(jiān)控進(jìn)程是否響應(yīng),發(fā)送通信數(shù)據(jù)給被監(jiān)控進(jìn)程并獲得檢測值;

所述第二監(jiān)控步驟包括周期檢測所述第一監(jiān)控步驟中的檢測值,并判斷所述檢測值是否有變化。

如前述的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,所述第一監(jiān)控步驟具體包括:

a、在監(jiān)控進(jìn)程給被監(jiān)控進(jìn)程發(fā)送的通信數(shù)據(jù)后,所述被監(jiān)控進(jìn)程進(jìn)行一遍主業(yè)務(wù)邏輯處理,如果系統(tǒng)正常,則監(jiān)控進(jìn)程收到被監(jiān)控進(jìn)程的響應(yīng),如果被監(jiān)控進(jìn)程出現(xiàn)異常,則監(jiān)控進(jìn)程無法收到響應(yīng)數(shù)據(jù);

b、監(jiān)控進(jìn)程接收到被監(jiān)控進(jìn)程的響應(yīng)后,檢測值加一;如果被監(jiān)控進(jìn)程出現(xiàn)異常,則監(jiān)控進(jìn)程的檢測值保持不變;

c、所述監(jiān)控進(jìn)程在等待n秒后,循環(huán)執(zhí)行步驟a。

如前述的linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的方法,所述第二監(jiān)控步驟具體為:

a、檢測第一監(jiān)控步驟中的檢測值,如果上次檢測值和本次檢測值相同,進(jìn)入步驟b,如果上次檢測值和本次檢測值不相同,直接進(jìn)入步驟c;m為檢測周期,大于等于2;

b、所述監(jiān)控進(jìn)程主動結(jié)束掉被監(jiān)控進(jìn)程,重新啟動被監(jiān)控進(jìn)程;

c、在等待n*m秒后,回到步驟a,循環(huán)執(zhí)行第二監(jiān)控步驟。

如圖3所示,本發(fā)明提供一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的裝置,包括:

通信單元1:用于使監(jiān)控進(jìn)程在被監(jiān)控進(jìn)程啟動以及監(jiān)控進(jìn)程啟動第一監(jiān)控單元2和第二監(jiān)控單元3后,與被監(jiān)控進(jìn)程開始進(jìn)行數(shù)據(jù)通信,并接受被監(jiān)控進(jìn)程對通信數(shù)據(jù)的監(jiān)控;

所述第一監(jiān)控單元2用于周期檢測被監(jiān)控進(jìn)程是否響應(yīng),發(fā)送通信數(shù)據(jù)給被監(jiān)控進(jìn)程并獲得檢測值;

所述第二監(jiān)控單元3用于周期檢測所述第一監(jiān)控單元2中的檢測值,并判斷所述檢測值是否有變化。

如圖4所示,本發(fā)明還提供一種linux系統(tǒng)下實(shí)時監(jiān)控進(jìn)程異常的裝置,包括:

通信單元1:用于使監(jiān)控進(jìn)程在被監(jiān)控進(jìn)程啟動以及監(jiān)控進(jìn)程啟動第一監(jiān)控單元2和第二監(jiān)控單元3后,與被監(jiān)控進(jìn)程開始進(jìn)行數(shù)據(jù)通信,并接受被監(jiān)控進(jìn)程對通信數(shù)據(jù)的監(jiān)控;

所述第一監(jiān)控單元2用于周期檢測被監(jiān)控進(jìn)程是否響應(yīng),發(fā)送通信數(shù)據(jù)給被監(jiān)控進(jìn)程并獲得檢測值;

所述第二監(jiān)控單元3用于周期檢測所述第一監(jiān)控單元2中的檢測值,并判斷所述檢測值是否有變化。

所述第一監(jiān)控單元具體包括:

響應(yīng)單元4:用于在第一監(jiān)控單元2給被監(jiān)控進(jìn)程發(fā)送的通信數(shù)據(jù)后,所述被監(jiān)控進(jìn)程進(jìn)行一遍主業(yè)務(wù)邏輯處理,如果系統(tǒng)正常,則第一監(jiān)控單元2收到被監(jiān)控進(jìn)程的響應(yīng),如果被監(jiān)控進(jìn)程出現(xiàn)異常,則第一監(jiān)控單元2無法收到響應(yīng)數(shù)據(jù),執(zhí)行檢測值計(jì)算單元;

檢測值計(jì)算單元5:用于在監(jiān)控進(jìn)程接收到被監(jiān)控進(jìn)程的響應(yīng)后,檢測值加一;如果被監(jiān)控進(jìn)程出現(xiàn)異常,則第一監(jiān)控單元2的檢測值保持不變;

第一循環(huán)單元6:用于在所述第一監(jiān)控單元2等待n秒后,重新回到并執(zhí)行通信及響應(yīng)單元。

所述第二監(jiān)控單元包括:

檢測值探測單元7:用于檢測第一監(jiān)控單元2中的檢測值,如果上次檢測值和本次檢測值相同,進(jìn)入進(jìn)程重啟單元8,如果上次檢測值和本次檢測值不相同,直接進(jìn)入執(zhí)行第二循環(huán)單元9,m為檢測周期,大于等于2;

進(jìn)程重啟單元8:用于第二監(jiān)控單元3主動結(jié)束掉被監(jiān)控進(jìn)程,重新啟動被監(jiān)控進(jìn)程;

第二循環(huán)單元9:用于使所述第二監(jiān)控單元3在等待n*m秒后,回到檢測值探測單元7,循環(huán)執(zhí)行第二監(jiān)控單元3。

本發(fā)明一種方法的實(shí)施步驟如下:

步驟1:搭建linux系統(tǒng)環(huán)境,把監(jiān)控進(jìn)程、被監(jiān)控進(jìn)程放到該環(huán)境中;

步驟2:啟動被監(jiān)控進(jìn)程,使用socket監(jiān)聽來自監(jiān)控進(jìn)程的數(shù)據(jù);

步驟3:啟動監(jiān)控進(jìn)程,分別啟動兩個線程,處理不同業(yè)務(wù);

步驟4:第一監(jiān)控進(jìn)程啟動后,每隔1秒向被監(jiān)測進(jìn)程發(fā)送探測信息,如有返回,對檢測值加1;

步驟5:第二監(jiān)控進(jìn)程啟動后,每隔5秒判斷一次檢測值;

步驟6:如果相鄰兩次的檢測值相同,則重啟被監(jiān)控進(jìn)程,不相同,則不做處理。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1