• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種軟件開發中主進程異常檢測方法技術

    技術編號:15690719 閱讀:163 留言:0更新日期:2017-06-24 03:20
    本發明專利技術公開一種軟件開發中主進程異常檢測方法,步驟是:主進程在啟動的同時啟動守護進程,并創建唯一的全局互斥體;守護進程定時檢測全局互斥體是否存在,不存在則重新啟動主進程,存在則定時向主進程發送消息,詢問主進程的工作狀態,并判斷在設定時間內是否收到主進程應答,若收到主進程工作狀態正常的應答,守護進程繼續保持定時詢問;若在設定時間內未收到主進程應答,繼續定時向主進程發送詢問消息,如果持續n次都未收到主進程應答,n為自然數,或收到主進程工作狀態異常的應答,守護進程殺掉主進程,并重新啟動主進程。此方法不但可以保證主進程退出時立即重啟主進程,更可以解決主進程的線程掛起或運行異常導致無法正常工作的問題。

    A master process anomaly detection method in software development

    The anomaly detection method, the invention discloses a software development process is the main process of the main steps: at the start of the start at the same time daemon, and create a global mutex only; daemon timing detection global mutex if there does not exist, then restart the main process, the main process is time to send a message to ask the main process of the working state of the main process and determine whether the received response within a set time, if the received response the main process of the normal working condition, the daemon to keep asking if the timing; within a set time has not received the master process response, continue to send a query message timing master process, if the last n have not received the master process in response, n is a natural number, or receive the main process of working state of abnormal response, daemon kill and restart the main process, the main process. This method can not only ensure that the main process exits, it will restart the main process immediately, but also can solve the problem that the thread of the main process hangs or runs abnormally, which can not work properly.

    【技術實現步驟摘要】
    一種軟件開發中主進程異常檢測方法
    本專利技術屬于計算機數據處理
    ,特別涉及一種軟件開發中進程異常的檢測方法。
    技術介紹
    軟件開發中經常需要維持某個進程(比如服務器進程)長期穩定地工作,但是不可避免地經常會出現進程異常退出的問題。為了解決這個問題,目前軟件開發時采用的方法是利用一個守護進程一直看護主進程,如圖1所示,守護進程定時掃描主進程是否存在,如果主進程不存在,就重新啟動主進程。但是,目前的看護方式存在著不足,如果主進程不是退出,而是線程掛起(程序死掉)或運行異常,守護進程認為程序沒有退出,誤以為還在正常工作,而實際上主進程已經異常出錯,也即,現有的主進程看護方式無法解決這類實際存在的問題,有待改進。
    技術實現思路
    本專利技術的目的,在于提供一種軟件開發中主進程異常檢測方法,其不但可以保證主進程退出時立即重啟主進程,更可以解決主進程的線程掛起或運行異常導致無法正常工作的問題。為了達成上述目的,本專利技術的解決方案是:一種軟件開發中主進程異常檢測方法,包括如下步驟:步驟1,主進程在啟動時,同時啟動守護進程守護其運行,并創建一個唯一的全局互斥體;步驟2,守護進程定時檢測主進程的全局互斥體是否存在,若存在則轉步驟3,若不存在則守護進程重新啟動主進程;步驟3,守護進程定時向主進程發送消息,詢問主進程的工作狀態,守護進程向主進程發送消息后,判斷在設定時間內是否收到主進程應答,若收到主進程工作狀態正常的應答,表示主進程工作狀態正常,守護進程繼續保持定時詢問;若在設定時間內未收到主進程應答,繼續定時向主進程發送詢問消息,如果持續n次都未收到主進程應答,n為自然數,或收到主進程工作狀態異常的應答,則認為主進程當前工作狀態異常,守護進程殺掉主進程,并重新啟動主進程。上述方法中,還設定主進程在合法退出前,先殺掉守護進程。上述步驟1中,主進程通過用戶手動啟動或開機自動啟動。上述步驟2中,守護進程檢測主進程的全局互斥體是否存在的方法是,守護進程與主進程約定一個全局唯一的互斥體名稱,守護進程驗證與互斥體名稱對應的全局互斥體是否存在,若存在則判定主進程存在。上述步驟2中,檢測周期為一秒。上述步驟3中,主進程開辟專用線程與守護進程進行通信。上述步驟3中,守護進程發送消息的發送間隔設定為一秒。采用上述方案后,本專利技術中的守護進程不但監控主進程是否退出,還定時與主進程保持通訊狀態。即守護進程定時向主進程發消息,詢問主進程工作狀態是否正常,主進程收到消息時應答守護進程,告知主進程當前工作狀態。如果守護進程沒收到主進程的應答消息,或主進程告訴守護進程自己當前工作狀態異常,守護進程殺掉主進程并重啟主進程,讓主進程恢復正常工作。附圖說明圖1是現有進程看護方式的流程圖;圖2是本專利技術的流程圖。具體實施方式以下將結合附圖,對本專利技術的技術方案進行詳細說明。如圖2所示,本專利技術提供一種軟件開發中主進程異常檢測方法,包括如下步驟:步驟1,用戶手動啟動主進程,或設置開機自動啟動主進程時,主進程同時啟動守護進程守護其運行,并創建一個唯一的全局互斥體;所謂的互斥體就是主進程創建的一個全局標識,互斥體隨著主進程創建而創建,隨著主進程關閉而關閉,并且每個互斥體都有一個唯一的名稱,所以其他進程可以通過檢查這個主進程對應的互斥體是否存在,來確定主進程是否有實例在運行;步驟2,守護進程定時檢測全局互斥體是否存在,從而確定主進程是否存在,在本實施例中,檢測方法是:守護進程與主進程約定一個全局唯一的互斥體名稱,因為互斥體隨主進程創建而創建,隨主進程關閉而關閉,所以守護進程只要驗證跟互斥體名稱對應的全局互斥體是否存在,就能確定主進程實例是否存在,并設定檢測周期為一秒;若守護進程判斷全局互斥體存在,則轉步驟3,若守護進程判斷全局互斥體不存在,表示主進程已退出,則守護進程重新啟動主進程;為了避免主進程在執行完任務需要正常退出時,被守護進程看住導致無法正常退出,設定主進程在合法退出前,需要先殺掉守護進程;步驟3,守護進程定時向主進程發送消息,詢問主進程的工作狀態,在本實施例中,設定發送間隔為一秒;主進程專門開辟一個線程用于與守護進程通信,以免因為處理其他業務導致與守護進程通信不及時。守護進程向主進程發送消息后,判斷在設定時間內(一般設定為一秒)是否收到主進程應答,若收到主進程工作狀態正常的應答,表示主進程工作狀態正常,守護進程繼續保持定時詢問;若在設定時間內未收到主進程應答,繼續定時向主進程發送詢問消息,如果持續三次都未收到主進程應答,或收到主進程工作狀態異常的應答,則認為主進程當前工作狀態異常,守護進程殺掉主進程,并重新啟動主進程。綜合上述,本專利技術一種軟件開發中主進程異常檢測方法,針對目前軟件開發中主進程存在,但主進程的線程掛起(程序死掉)或程序異常導致無法正常工作的情況,在守護進程與主進程之間建立通訊,以確定主進程是否處于正常工作狀態。若主進程工作狀態異常,守護進程殺死主進程并重新啟動主進程,從而提高進程的可用性,提高進程工作效率。以上實施例僅為說明本專利技術的技術思想,不能以此限定本專利技術的保護范圍,凡是按照本專利技術提出的技術思想,在技術方案基礎上所做的任何改動,均落入本專利技術保護范圍之內。本文檔來自技高網...
    一種軟件開發中主進程異常檢測方法

    【技術保護點】
    一種軟件開發中主進程異常檢測方法,其特征在于包括如下步驟:步驟1,主進程在啟動時,同時啟動守護進程守護其運行,并創建一個唯一的全局互斥體;步驟2,守護進程定時檢測主進程的全局互斥體是否存在,若存在則轉步驟3,若不存在則守護進程重新啟動主進程;步驟3,守護進程定時向主進程發送消息,詢問主進程的工作狀態,守護進程向主進程發送消息后,判斷在設定時間內是否收到主進程應答,若收到主進程工作狀態正常的應答,表示主進程工作狀態正常,守護進程繼續保持定時詢問;若在設定時間內未收到主進程應答,繼續定時向主進程發送詢問消息,如果持續n次都未收到主進程應答,n為自然數,或收到主進程工作狀態異常的應答,則認為主進程當前工作狀態異常,守護進程殺掉主進程,并重新啟動主進程。

    【技術特征摘要】
    1.一種軟件開發中主進程異常檢測方法,其特征在于包括如下步驟:步驟1,主進程在啟動時,同時啟動守護進程守護其運行,并創建一個唯一的全局互斥體;步驟2,守護進程定時檢測主進程的全局互斥體是否存在,若存在則轉步驟3,若不存在則守護進程重新啟動主進程;步驟3,守護進程定時向主進程發送消息,詢問主進程的工作狀態,守護進程向主進程發送消息后,判斷在設定時間內是否收到主進程應答,若收到主進程工作狀態正常的應答,表示主進程工作狀態正常,守護進程繼續保持定時詢問;若在設定時間內未收到主進程應答,繼續定時向主進程發送詢問消息,如果持續n次都未收到主進程應答,n為自然數,或收到主進程工作狀態異常的應答,則認為主進程當前工作狀態異常,守護進程殺掉主進程,并重新啟動主進程。2.如權利要求1所述的一種軟件開發中主進程異常檢測方法,其特征在于:所述方法中,還設定...

    【專利技術屬性】
    技術研發人員:邱志斌吳煒斌涂高元郭永興陸云燕陳雅賢
    申請(專利權)人:廈門天銳科技股份有限公司
    類型:發明
    國別省市:福建,35

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲精品无码Av人在线观看国产| 亚洲精品无码久久一线| 成人毛片无码一区二区| 中文字幕丰满乱孑伦无码专区| 国产精品无码一二区免费| 成在人线AV无码免费| 国产亚洲AV无码AV男人的天堂| 国产aⅴ无码专区亚洲av麻豆| 亚洲A∨无码无在线观看| 无码尹人久久相蕉无码| 国产成人无码精品久久久免费| 精品无码人妻久久久久久| 无码人妻精品内射一二三AV| 高h纯肉无码视频在线观看| 无码爆乳护士让我爽| 免费A级毛片无码A∨免费 | 久久AV高清无码| 久久国产精品无码网站| 亚洲精品无码久久| 精品无码人妻夜人多侵犯18| 国产精品国产免费无码专区不卡| 91精品无码久久久久久五月天| 本道天堂成在人线av无码免费| 亚洲爆乳无码精品AAA片蜜桃| 亚洲精品中文字幕无码AV| 亚洲A∨无码一区二区三区| 人妻无码αv中文字幕久久| 人妻少妇偷人精品无码| 亚洲性无码av在线| 无码午夜人妻一区二区不卡视频| 中文无码字幕中文有码字幕| 99久久国产热无码精品免费| 日韩国产精品无码一区二区三区 | 精品人妻系列无码人妻免费视频| 国产乱人伦中文无无码视频试看| 免费无码又爽又刺激毛片| 国产成人无码区免费A∨视频网站 国产成人无码午夜视频在线观看 国产成人无码精品一区不卡 | 免费A级毛片无码免费视| 亚洲成av人片不卡无码| 亚洲国产av无码精品| 久久久久亚洲AV无码专区网站|