Init-Script

/etc/init.d/script 或 /etc/inittab - 重生

  • March 17, 2014

我有一個守護程序/服務(milter-regex),它正在死去。我只是暫時使用它(幾個月),所以不要太在意,但我希望它在它死後重新啟動。

它是一個 init.d 腳本。‘service milter-regex start’ 等。初始化腳本位於 /etc/init.d/milter-regex

我知道如果我在 /etc/inittab 中有什麼東西,如果它死了,它會自動重生。初始化腳本也應該這樣做,還是我需要將它放在 inittab 中?

它可能無法重新啟動,因為它沒有清理過時的 sock 文件,我今天將修復它,但我想我還是會問這個問題。

在 RHEL4 上執行(是的,舊的)

謝謝,布洛克

當服務崩潰時,init.d 中的腳本不會自動重新執行。如果你想做最少的工作來確保它執行,inittab 可能是你最好的選擇。但它很噁心,幾乎和仍在執行 RHEL 4 一樣噁心。

我必須為 RHEL6 解決一個非常相似的問題。(此外,不僅有一個命令,而且還有一個命令管道。)因為我想保留/etc/init.d腳本,所以我編寫了一個小工具pipexec:如果子程序終止,它會重新啟動子程序,並且可以很容易地集成到/etc/init.d腳本中,因為例如它也支持pid文件處理。

例子:

$ pipexec -p /var/run/whatsoever.pid -s 5 -- /opt/bin/whatsoever

創建一個 pid 文件,執行/opt/bin/whatsoever. 當whatsoever異常終止時(例如通過信號),pipexec等待 5 秒並重新啟動它。

親切的問候 - 安德烈亞斯

引用自:https://unix.stackexchange.com/questions/55751