linux 使用进程管理工具 supervisor

Posted lowmanisbusy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 使用进程管理工具 supervisor相关的知识,希望对你有一定的参考价值。

1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具
    supervisor需要运行在python2环境,如果需要使用supervisor管理python3的项目,需要借助于虚拟环境

2.安装supervisor:
    pip install supervisor

3.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf, 当进行到这一步时,终端提示需要    
    apt install supervisor,如果有该提示,执行命令进行安装即可,如果没有提示则忽略

4.编辑配置文件:vim /etc/supervisord.conf

    1)修改最后两行,去掉前面的分号。
        [include]
        files = /etc/supervisord/*.conf

        files:管理进程的配置文件的路径,每一个进程都需要单独配置一个配置文件,这里需要根据实际情况配置

    2)开启web控制台:找到如下几行,去掉注释

        [inet_http_server]   ; inet (TCP) server disabled by default
        port=0.0.0.0:9001    ; ip_address:port specifier, *:port for all iface
        username=admin          ; default is no username (open server)
        password=123456      ; default is no password (open server)

        配置了这些参数以后就可以使用相应的用户名称和密码通过访问指定的ip和端口,从而通过web界面,管理进程,查看日志等

5.添加管理进程的目录
    mkdir -p /etc/supervisord/
    这里的目录需要和配置文件 supervisord.conf 里的 files 参数保持一致

6.新添加一个test1进程,进行管理
    vim /etc/supervisord/test1.conf
    路径需要和配置文件 supervisord.conf 里的 files 参数保持一致

    [program:test1]
    user=root
    directory=/usr/local/test/
    command=/usr/bin/python /usr/local/test/test.py
    autostart=true
    autorestart=true
    loglevel=debug
    log_stderr=true
    stdout_logfile=/var/log/test1.log
    redirect_stderr=true

    说明:
        1)每个进程的配置文件都必须拥有一个唯一的program名称
        2)command 就是需要在终端进行输出的命令,通过命令启动进程
        3)当有多个进程时,就需要定义多个进程管理配置文件

6.启动supervisor

    supervisord -c /etc/supervisord.conf

    当启动supervisor管理工具时,也会同时启动所有添加到了管理中进程

7.查看添加到管理中的进程的状态
    supervisorctl status

    可以查看到每一个进程名称(program名称)所对应的状态

8.根据进程名称关闭,启动,重启进程    
    supervisorctl stop test1
    supervisorctl start test1
    supervisorctl restart test1

9.关闭supervisor
    ps -ef | grep super

    然后 kill -9 进程号 杀死进程

    注意:
        直接杀掉supervisor的主进程,被管理的进程仍然运行状态,所以记得先stop被管理的进程。
        如果修改了任意一个配置文件,都需要重启supervisor。

 

以上是关于linux 使用进程管理工具 supervisor的主要内容,如果未能解决你的问题,请参考以下文章

linux使用Supervisor守护进程

linux使用Supervisor守护进程

[Linux系统] 使用supervisor管理进程

supervisor介绍与使用

linux进程管理工具:supervisor

linux进程管理工具:supervisor