supervisor简介

  • Post author:
  • Post category:其他


1.supervisor工具

基于python的进程管理工具,server端是supervisord,client端是supervisorctl命令

当应用服务器要部署多个服务程序,机器关闭,重启的批量维护。此时supervisor是一个不错的

选择。supervisor可以同时启动所以应用程序而不用逐个启动。

Supervisor的功能如下:

1 启动、重启、关闭包括但不限于python进程。

2 查看进程的运行状态。

3 批量维护多个进程。

2.安装

安装好supervisor之后默认是没有生成配置文件的,可以通过命令生成配置文件。

supervisor组件

1.supervisord是supervisor的服务端程序。

作用:启动supervisor程序自身,启动supervisor管理的子进程,响应来自clients的请求,

重启闪退或异常推出的子进程,把子进程的错误和输出记录到日志文件中,生成和处理Event。

2.supervisorctl是supervisor的client端

supervisorctl有一个类型shell的命令行界面,可以利用它来查看子进程的状态,启动/停止。重启

子进程,获取running子进程的列表等等。。。

而且supervisorctl不仅可以连接到本机上的supervisord,还可以连接远程的supervisord,在

本机上是通过UNIX socket连接的,远程是通过tcp socket连接的。supervisorctl和supervisord

之间的通信,是同过xml_rpc完成的。相应的配置在[supervisorctl]块里面。

配置

1.测试是否安装成功

echo_supervisord_conf

2.生成配置文件

echo_supervisord_conf > /etc/puservisord.conf(一般放在/etc/下面)

3.打开配置文件:vim /etc/puservisord.conf

4.在配置文件底部,配置include

[include]

files=/etc/puservisor/*.conf


3.supervisorctl命令

1.启动:

supervisod -c /etc/supervisord.conf(如果不指定配置文件启动,则会从当前位置开始查找)

supervisod

2.查看supervisord是否运行:

ps aux | grep supervisord

3.修改完配置之后需要重启supervisor

supervisorctl reload

4.查看supervisor监管的进程状态

supervisorctl status

5.启动XXX进程

supervisorctl start xxxxx

6.停止XXXX进程

supervisorctl stop  xxxxx

7.停止全部的进程

supervisorctl stop all

注意:start, restart, stop都不会载入最新的配置文件

8.根据最新的配置文件,启动新配置或者有改动的进程,配置没有变化的进程不会受影响而重启

supervisorctl update



版权声明:本文为qq_35867759原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。