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

当对于某些会出现内存泄漏或链接不自动释放的进程时,咱们能够使用以上方法进行按期重启,解决内存泄漏及释放链接数。

相关文章
相关标签/搜索