[問題] 如何監控某個行程是否死去

看板Perl作者 (波哥)時間15年前 (2010/07/14 21:42), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
小弟有個需求是要在Linux 環境下寫一隻程式用來監控 某一隻行程是否死掉,若死掉的話,監控程式會做下面二件事面: 1 把死掉的時間記錄在log檔裡 2 寄出一封告警信 其實,這個需求小弟已經知道如何實作出來了。只是,在判斷行程 是否死掉這一段,小弟的實作方式如下: 1 用perl 去呼叫外部指令:ps -awx | grep '\bsshd' 若行程還活者的話,會傳回:6067 ? Ss 0:00 /usr/sbin/sshd 若死掉的話會傳回:Warning: bad ps syntax, perhaps a bogus '-'? 2 用變數去接外部指令傳回的結果。再利用字串搜尋是否有『bad』這關鍵 字。 3 若有『bad』關鍵定 則 寄信與記錄log訊息 ------------------------------------------------------------------- 以下是小弟的實做方式,總覺的不是很好,是否有更棒的實作方式可提供呢?! -- 波哥IT私房菜: http://i-pogo.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.198.218

07/16 09:48, , 1F
小小建議是 既然知道掛了何不順便重啟他
07/16 09:48, 1F

07/16 19:05, , 2F
在linux下可以看 /proc 不過呼叫ps再pipe回來沒什麼不好
07/16 19:05, 2F
文章代碼(AID): #1CFRx0Rt (Perl)
文章代碼(AID): #1CFRx0Rt (Perl)