一、supervisor简介

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

注:本文以centos7为例。

二、supervisor安装

配置好yum源后,可以直接安装

Debian/Ubuntu可通过apt安装

pip安装

easy_install安装

三、supervisor使用

supervisor配置文件:/etc/supervisor/supervisord.conf

注:supervisor的配置文件默认是不全的,不过在大部分默认的情况下,上面说的基本功能已经满足。

子进程配置文件路径:/etc/supervisord.d/

注:默认子进程配置文件为ini格式,可在supervisor主配置文件中修改。

四、配置文件说明

supervisor.conf配置文件说明:

子进程配置文件说明:

给需要管理的子进程(程序)编写一个配置文件,放在/etc/supervisor.d/目录下,以.ini作为扩展名(每个进程的配置文件都可以单独分拆也可以把相关的脚本放一起)。如任意定义一个和脚本相关的项目名称的选项组(/etc/supervisord.d/test.conf):

子进程配置示例:

五、supervisor命令说明

常用命令

注:把es换成all可以管理配置中的所有进程。直接输入supervisorctl进入supervisorctl的shell交互界面,此时上面的命令不带supervisorctl可直接使用。

注意事项

使用supervisor进程管理命令之前先启动supervisord,否则程序报错。

使用命令supervisord -c /etc/supervisor/supervisord.conf启动。

若是centos7:

常见问题

unix:///var/run/supervisor.sock no such file

问题描述:安装好supervisor没有开启服务直接使用supervisorctl报的错

解决办法:supervisord -c /etc/supervisor/supervisord.conf

command中指定的进程已经起来,但supervisor还不断重启

问题描述:command中启动方式为后台启动,导致识别不到pid,然后不断重启,这里使用的是elasticsearch,command指定的是$path/bin/elasticsearch -d

解决办法:supervisor无法检测后台启动进程的pid,而supervisor本身就是后台启动守护进程,因此不用担心这个

启动了多个supervisord服务,导致无法正常关闭服务

问题描述:在运行supervisord -c /etc/supervisor/supervisord.conf之前,直接运行过supervisord -c /etc/supervisord.d/xx.conf导致有些进程被多个superviord管理,无法正常关闭进程。

解决办法:使用ps -fe | grep supervisord查看所有启动过的supervisord服务,kill相关的进程。

mysql用supervisor管理_Supervisor使用详解相关推荐

  1. python supervisor 日志_Supervisor使用详解

    supervisor配置文件 ; Sample supervisor config file. [unix_http_server] file=/var/run/supervisor/supervis ...

  2. MySQL的用户密码过期功能详解

    MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...

  3. ElasticSearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解...

    墨墨导读:之前我们分享了ElasticSearch最全详细使用教程:入门.索引管理.映射详解,本文详细介绍ElasticSearch的索引别名.分词器.文档管理.路由.搜索详解. 一.索引别名 1. ...

  4. ElasticSearch最全详细使用教程:入门、索引管理、映射详解

    墨墨导读:本文介绍了ElasticSearch的必备知识:从入门.索引管理到映射详解. 一.快速入门 1. 查看集群的健康状况http://localhost:9200/_cat http://loc ...

  5. pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...

  6. 系统批量运维管理器Fabric详解

    系统批量运维管理器Fabric详解 Fabrici 是基于python现实的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包 ...

  7. mysql启动参数(/etc/my.cnf)详解汇总

    mysql启动参数(/etc/my.cnf)详解汇总 MYSQL–my.cnf配置中文详解 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = ...

  8. mysql完全备份 二进制日志,MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

  9. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

最新文章

  1. java spring 单例_spring怎么实现单例模式?
  2. UVA - 11584 Partitioning by Palindromes(划分成回文串)(dp)
  3. 工业级以太网交换机与普通商用交换机相比,在性能上有哪些优势?
  4. Java线程状态Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
  5. flex 左右布局_面试必考点:前端布局知识
  6. PHP操作MongoDB学习笔记
  7. loadrunner 运行脚本-Run-time Settings之Preferences设置
  8. IDEA常用设置及推荐插件
  9. JQ简单二级导航,加子导航栏
  10. 你先说什么事,我再决定有没有空
  11. matlab/simulink通...,详解MATLAB/Simulink通信系统建模与仿真
  12. 包包各部位名称图解_手袋各部位名称及详解
  13. 超声波测距传感器认知
  14. 移民找老张解析:美国绿卡与美国公民身份的区别
  15. PDG FOR INDIE GAMEDEV
  16. 删除Excel单元格中空行
  17. 从零开始学习STM32(一)—— 新建工程模板
  18. 【老狼推荐】Instruments 用户指南
  19. VC2008 不能将参数 从“CString”转换为“const wchar_t *” 问题
  20. 利用阿里云短信验证码登录

热门文章

  1. @JsonSerialize 与 @JsonDeserialize 使用
  2. 解决:Cannot read property ‘component‘ of undefined ( 即 vue-router 0.x 转化为 2.x)
  3. 解决: Cannot find module ‘webpack-cli/bin/config-yargs‘、Error: Cannot find module ‘webpack-cli‘
  4. 分布式开放 消息系统 (RocketMQ) 的原理与实践
  5. 【案例】图片无缝轮播效果
  6. 利用redis实现分布式锁:加锁与解锁
  7. IIS服务器SSL证书安装
  8. AOP原理解析及Castle、Autofac、Unity框架使用
  9. Principle of Computing (Python)学习笔记(7) DFS Search + Tic Tac Toe use MiniMax Stratedy
  10. 不使用Ajax,如何实现表单提交不刷新页面