1.什么是進程守護系統(tǒng)?

進程守護系統(tǒng),用于監(jiān)控指定的進程,當發(fā)現(xiàn)目標進程不再正常工作時,就關閉該進程,并重啟它。

在什么情況下使用進程守護系統(tǒng)了?比如說,我們的某個服務器軟件,在上線后出現(xiàn)一個嚴重的bug,該bug雖然很難出現(xiàn),但是只要一出現(xiàn),整個服務都會停掉(進程沒有崩潰,只是不再提供服務)。此時,重啟服務軟件,又會開始正常工作。

對于這樣嚴重的bug,必須要查清楚并解決掉的。但是,基于以下兩個原因:

(1)系統(tǒng)已經(jīng)對用戶開放,服務不能停。不可能說系統(tǒng)先下線,直到bug被解決掉后再重新上線。

(2)bug很難重現(xiàn),可能需要加日志,不斷地跟蹤排查,這很可能是一場持久戰(zhàn)。

  為了讓系統(tǒng)繼續(xù)線上運行,在bug解決之前,必須要保證系統(tǒng)停止服務之后,能迅速重新啟動恢復服務。此時,使用進程守護系統(tǒng)是最恰當不過的了。

OrayGuard就是為達到這一目的,實現(xiàn)了一個進程守護系統(tǒng)。一個守護者程序,可以守護同一臺機器上的多個進程。

 

2.進程守護系統(tǒng)的實現(xiàn)及使用

OrayGuard守護者對被守護進程的管理使用的是心跳機制,其原理描述如下:

網(wǎng)友評論