'supervisor'进程管理工具配置与使用

来源:互联网 发布:阿里云ecs上传文件 编辑:程序博客网 时间:2024/06/04 18:52
  1. 安装

    $ sudo pip install supervisor

  2. 创建配置文件

    $ echo_supervisord_conf > /etc/supervisord.conf

    如果没有权限,则sudo su切换到root用户

  3. 修改配置文件内容

    $ sudo vim /etc/supervisord.conf
    把所有的/tmp/目录修改为我个人目录,比如/home/jlong/supervisor/,在这之前先去创建这个目录:mkdir /home/jlong/supervisor

  4. 写一个脚本

    # -- coding:utf-8 --
    #!/usr/bin/python
    #file: /home/jlong/bin/test.py

    print(“This is a process”)

  5. 创建进程文件

    #文件位置:/home/jlong/supervisor/conf/test.ini
    [program:test]
    command=/usr/bin/python /home/jlong/bin/test.py
    directory=/home/jlong/bin
    user=root
    autostart=true ;在supervisord启动的时候也自动启动
    autorestart=true ;进程挂掉后自动重启
    redirect_stderr=true ;重定向输出的日志
    stdout_logfile = /home/jlong/logs/test.log ;logs目录需要手动创建,不然会报错
    loglevel=info ;日志级别,默认info,其它: debug,warn,trace

  6. 使用include

    在自己创建的目录/home/jlong/supervisor/conf下,创建.ini文件,用来管理进程的配置文件。
    在/etc/supervisord.conf文件中,修改下列内容:
    [include]
    files = /home/jlong/supervisor/conf/*.ini

  7. 启动supervisord

    sudo supervisord #指定默认的配置文件/etc/supervisord.conf
    sudo supervisord -c /etc/supervisord.conf #自己指定配置文件

  8. 开启进程

    sudo supervisorctl start program_name
    或者
    sudo supervisorctl

  9. 命令介绍

    # 停止某一个进程,program_name 为 [program:x] 里的 x
    supervisorctl stop program_name
    # 启动某个进程
    supervisorctl start program_name
    # 重启某个进程
    supervisorctl restart program_name
    # 结束所有属于名为 groupworker 这个分组的进程 (start,restart 同理)
    supervisorctl stop groupworker:
    # 结束 groupworker:name1 这个进程 (start,restart 同理)
    supervisorctl stop groupworker:name1
    # 停止全部进程,注:start、restart、stop 都不会载入最新的配置文件
    supervisorctl stop all
    # 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
    supervisorctl reload
    # 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
    supervisorctl update

原创粉丝点击