在Supervisord conf文件,你可以指定自動重啓具有一定的程序:如何保持Supervisord無條件運行?
autorestart=true
但是是有[Supervisord]本身等同? 確保Supervisord無條件繼續運行的建議方法是什麼,特別是如果Supervisord進程被殺死的話。
謝謝!
在Supervisord conf文件,你可以指定自動重啓具有一定的程序:如何保持Supervisord無條件運行?
autorestart=true
但是是有[Supervisord]本身等同? 確保Supervisord無條件繼續運行的建議方法是什麼,特別是如果Supervisord進程被殺死的話。
謝謝!
其實你的問題是着名的「Quis custodiet ipsos custodes?」的特定應用程序?那就是「誰來守衛守衛?」。
在現代Linux系統中,中央防護點是init
進程(進程號1)。如果init
死亡,Linux內核立即發生混亂,因此您必須轉到您的數據中心(我的意思是繼續),然後按reset
按鈕。還有的是一個很大的替代init
實現,here是那些「對照表」 :)
確切的答案如何配置特定init
實現取決於你在系統中使用什麼init
版本之一。例如systemd
擁有自己的配置服務重啓機制(指令Restart=
,RestartSec=
,WatchdogSec=
等在相應的unit-file。其他初始化實現,如Ubuntu的Upstart也有它的類似物(respawn
directive在服務配置文件)甚至舊的好SysV初始化具有用於/etc/inittab
服務線respawn
選項,但通常用戶級服務未啓動直接inittab中,只有虛擬控制檯管理器(getty
,mgetty
等)
感謝。所以我們在Ubuntu上,我們實現一個init .d腳本,看起來當我們殺死supervisord進程時,它不會再回來。任何想法init.d的一些常見原因沒有保持活着daemoni zed進程? – chinnychinchin