Supervisor是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程。它可以同时启动,关闭多个进程,使用起来特别的方便。

1.组成部分

supervisor 主要由两部分组成:

supervisord(server 部分):主要负责管理子进程,响应客户端命令以及日志的输出等;
supervisorctl(client 部分):命令行客户端,用户可以通过它与不同的 supervisord 进程联系,获取子进程的状态等。

2.安装

可以直接使用 pip 安装:

pip install supervisor

3.配置

安装完成之后,可以运行 echo_supervisord_conf 生成默认的配置文件:

echo_supervisord_conf > supervisord.conf

然后可以通过 supervisord 命令启动 supervisord.

supervisord -c supervisord.conf

我们可以看到 supervisord 已经被启动了, 然后进入 supervisorctl 的 shell 界面。

$ supervisorctl
supervisor> status
supervisor>

由于目前没有添加任何需要管理的进程,所以 status 没有输出人和结果,接下来我们添加一个需要管理的进程 (以启动一个uwsgi程序为例子):
supervisord.conf文件中添加如下内容

[program:uwsgi]
command=/export/servers/Python2.7/bin/uwsgi /export/servers/nginx/conf/uwsgi/Python_20160906.ini ; 启动命令
stdout_logfile=/tmp/uwsgi_out.log ; stdout 日志输出位置
stderr_logfile=/tmp/uwsgi_err.log ; stderr 日志输出位置
autostart=true ; 在 supervisord 启动的时候自动启动
autorestart=true ; 程序异常退出后自动重启
startsecs=10 ; 启动 10 秒后没有异常退出,就当作已经正常启动

然后运行以下命令更新配置并启动进程:

$ supervisorctl reread (只更新配置文件)
uwsgi: available$ supervisorctl update (只启动有改动的进程)
uwsgi: added process group$ supervisorctl status
uwsgi                            RUNNING   pid 266077, uptime 0:08:13

我们看到 uwsgi 已经被成功启动了。你可以使用不同的命令来控制进程的启动和关闭。

$ supervisorctl stop uwsgi
uwsgi: stopped
$ supervisorctl start uwsgi
uwsgi: started
$ supervisorctl restart uwsgi
uwsgi: stopped
uwsgi: started

把所有的配置文件都放在 supervisord.conf 并不是个好主意,一旦管理的进程过多,就很麻烦。所以一般都会 新建一个目录来专门放置进程的配置文件,然后通过 include 的方式来获取这些配置信息

[include]
files = /tmp/conf.d/*.conf

然后在目录 /tmp/conf.d 下新建一个配置文件 celery.conf, 配置信息与上面的一致,效果 是一样的。

4.命令详解

supervisord: 初始启动Supervisord,启动、管理配置中设置的进程;

supervisorctl stop(start, restart) xxx,停止(启动,重启)某一个进程(xxx);

supervisorctl reread: 只载入最新的配置文件, 并不重启任何进程;

supervisorctl reload: 载入最新的配置文件,停止原来的所有进程并按新的配置启动管理所有进程;

supervisorctl update: 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启;

转载于:https://www.cnblogs.com/PythonOrg/p/6541651.html

Supervisor使用说明相关推荐

  1. Supervisor使用详解

    一.supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork/e ...

  2. Linux Supervisor的安装与使用入门

    在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界 ...

  3. abaqus高性能服务器怎么用,高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF...

    高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF 高性能计算平台ABAQUS 任务调度使用说明 作者:陈林 E-Mail:chenlin@ 日期:2017-1-10 ...

  4. python进程监控 supervisor_python supervisor进程监控工具的使用

    supervisor -- a process control system 另外一个类似 supervisor的工具,因为supervisor 不兼容python3, !!! Circus Proc ...

  5. 登录linux后台工具,linux后台进程管理工具-supervisor

    安装环境为:centos,如果是ubuntu的话命令可能会不一样. Supervisor 是一个用python编写的进程管理工具,能将一个普通的命令行进程变为后台的deamon,方便管理. 安装sup ...

  6. linux 文件拷贝并替换,Linux_cmd replace 文件替换使用说明,帮助信息: 复制代码 代码如 - phpStudy...

    cmd replace 文件替换使用说明 帮助信息: 复制代码 代码如下: 替换文件. REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [ ...

  7. 【部署类】专题:消息队列MQ、进程守护Supervisor

    目录 1 背景需求 2 技术方案 2.1 消息队列 2.2 进程守护 3 源码介绍 3.1 supervisor部分 3.1.1 supervisord.conf 内容 3.1.2 MM3D.conf ...

  8. erlang supervisor simple_one_for_one实例

    http://www.cnblogs.com/little-ant/p/3196201.html simple_one_for_one vs one_for_one: 相同点: 这种Restart S ...

  9. Simple Dynamic Strings(SDS)源码解析和使用说明二

    在<Simple Dynamic Strings(SDS)源码解析和使用说明一>文中,我们分析了SDS库中数据的基本结构和创建.释放等方法.本文将介绍其一些其他方法及实现.(转载请指明出于 ...

最新文章

  1. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之06.JDBC PreparedStatement
  2. MySQL学习笔记(十二)—— MySQL的命令集(2)
  3. nmcli 命令的基本使用
  4. DataWorks 功能实践速览
  5. 基于javaSpringboot+mybatis+layui的装修验收管理系统设计和实现
  6. java mongodb开发_Java Tutorial:Java操作MongoDB入门
  7. Android自定义控件ImageViwe(三)——随手指进行图片的缩放
  8. eslint解决方案整理
  9. 【BZOJ2429】聪明的猴子
  10. 【BZOJ】1001: [BeiJing2006]狼抓兔子 Dinic算法求解平面图对偶图-最小割
  11. GeoTools操作Shape格式文件
  12. BZOJ5221[Lydsy2017省队十连测] 偏题
  13. 教育大数据采集机制与关键技术研究
  14. 人类为什么不会被人工智能取代?
  15. graphlan/iTOL画进化树记录
  16. 疫情下的大数据力量:多地政府借力大数据技术,多家企业上马大数据产品
  17. java商城功能模块图_java网上图书商城(1)User模块
  18. 微信红包金额分配的算法
  19. Visual Studio Code(VSCODE)语言设置为中文
  20. android 中关于两张图片叠加方法(记录)

热门文章

  1. Windows 取消 Lock Screen 显示
  2. 20211109:DC综合的一些简单概念理解记录
  3. vfp 调用接口取数据_2分钟教你调用全国天气预报数据接口
  4. linux utf8转gbk_「正点原子Linux连载」第四章开发环境搭建(2)
  5. 截取文件最后10行_10 行 Python 代码自动清理电脑内重复文件,解放双手
  6. 机器人车间气管_大开眼界!机器人焊装车间火力全开
  7. apicloud退出app方法
  8. VB 字符串MD5加密函数
  9. 关于三个概念:ActiveX、OLE和COM
  10. VB 自启动建立右键菜单