1.什么是進程守護系統(tǒng)?
進程守護系統(tǒng),用于監(jiān)控指定的進程,當(dāng)發(fā)現(xiàn)目標(biāo)進程不再正常工作時,就關(guān)閉該進程,并重啟它。
在什么情況下使用進程守護系統(tǒng)了?比如說,我們的某個服務(wù)器軟件,在上線后出現(xiàn)一個嚴重的bug,該bug雖然很難出現(xiàn),但是只要一出現(xiàn),整個服務(wù)都會停掉(進程沒有崩潰,只是不再提供服務(wù))。此時,重啟服務(wù)軟件,又會開始正常工作。
對于這樣嚴重的bug,必須要查清楚并解決掉的。但是,基于以下兩個原因:
(1)系統(tǒng)已經(jīng)對用戶開放,服務(wù)不能停。不可能說系統(tǒng)先下線,直到bug被解決掉后再重新上線。
(2)bug很難重現(xiàn),可能需要加日志,不斷地跟蹤排查,這很可能是一場持久戰(zhàn)。
為了讓系統(tǒng)繼續(xù)線上運行,在bug解決之前,必須要保證系統(tǒng)停止服務(wù)之后,能迅速重新啟動恢復(fù)服務(wù)。此時,使用進程守護系統(tǒng)是最恰當(dāng)不過的了。
OrayGuard就是為達到這一目的,實現(xiàn)了一個進程守護系統(tǒng)。一個守護者程序,可以守護同一臺機器上的多個進程。
2.進程守護系統(tǒng)的實現(xiàn)及使用
OrayGuard守護者對被守護進程的管理使用的是心跳機制,其原理描述如下:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26