supervisor經常使用操做

本文參考自https://blog.csdn.net/fdipzone/java/article/details/80146558java

Supervisor是用Python開發的一個客戶機/服務器系統,容許用戶監視和控制UNIX類操做系統上的多個進程。功能包括監聽、啓動、中止、重啓一個或多個進程。當Supervisor管理的進程出現意外被Kill後,Supervisor監聽到事件會自動啓動該進程,不須要再寫其餘腳本去進行重啓處理。服務器


關於Supervisor的安裝及設定,能夠參考Supervisor官網地址:http://supervisord.org/ ide

Supervisor基本操做命令spa

1.啓動進程操作系統

supervisorctl -c /etc/supervisord.conf start program_name  .net

2.中止進程rest

supervisorctl -c /etc/supervisord.conf stop program_name blog

3.重啓進程進程

supervisorctl -c /etc/supervisord.conf restart program_name事件

4.啓動全部進程

supervisorctl -c /etc/supervisord.conf start all 

5.中止全部進程

supervisorctl -c /etc/supervisord.conf stop all

6.更新新的配置到supervisord    

supervisorctl update

7.從新啓動配置中的全部程序

supervisorctl reload


Supervisor自動重啓機制

Supervisor的 autorestart 參數能夠設置進程自動重啓的事件,通常設置爲:

autorestart=unexpected

當進程意外被kill或出現異常時,Supervisor會自動重啓該進程。

但若是Supervisor監控的進程出現內存泄漏或鏈接不自動釋放的狀況,Supervisor並不會執行重啓,且Supervisor不支持按期自動重啓的方法。

所以當出現這種狀況時,咱們須要對某些進程進行按期自動重啓。


Supervisor按期重啓指定進程方法

咱們能夠利用crontab來實現按期任務,設置以下:


例: 每小時重啓進程abc

0 * * * * supervisorctl -c /etc/supervisord.conf restart abc

當對於某些會出現內存泄漏或鏈接不自動釋放的進程時,咱們能夠使用以上方法進行按期重啓,解決內存泄漏及釋放鏈接數。

相關文章
相關標籤/搜索