Mac下Supervisor进程监控管理工具的安装与配置


Posted in Python onDecember 16, 2014

Supervisor 是一个类 unix 操作系统下的进程监控管理工具。

安装 Supervisor

Supervisor 是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Index) 直接安装:

sudo pip install supervisor

配置 Supervisor

Supervisor 的配置文件命名为 supervisord.conf,它为 supervisord(Supervisor 的主服务命令) 和 supervisorctl(Supervisor 的监控管理命令) 提供配置选项设置。 Supervisor 并不规定配置文件 supervisord.conf 的存放位置,Supervisor 服务启动的时候默认会在:

$CWD/supervisord.conf

$CWD/etc/supervisord.conf

/etc/supervisord.conf

这几个目录位置查找配置文件 supervisord.conf。Supervisor 也提供参数 "-c" 来指定配置文件的目录路径。

在终端输入 "echo_supervisord_conf" 命令可查看 Supervisor 的默认配置的内容。

生成一份默认的配置文件:

echo_supervisord_conf > /etc/supervisord.conf

这里有选择的设置了一些配置,基本够用,配置如下:

[inet_http_server]

port = 127.0.0.1:9001

username = dhq

password = 123456

 

[unix_http_server]

file = /tmp/supervisor.sock

chmod = 0700

 

[supervisord]

logfile = /Users/dengjoe/.supervisor/supervisord.log

logfile_maxbytes = 50MB

logfile_backups=10

loglevel = info

pidfile = /tmp/supervisord.pid

nodaemon = False

minfds = 1024

minprocs = 200

umask = 022

identifier = supervisor

directory = /tmp

nocleanup = true

childlogdir = /tmp

 

[supervisorctl]

serverurl = unix:///tmp/supervisor.sock

 

[rpcinterface:supervisor]

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

 

 

 

[program:shadowsocks]

directory = /Users/dengjoe/shadowsocks

command = /usr/bin/python /Users/dengjoe/shadowsocks/local.py

autostart = true

autorestart = true

启动 Supervisor

supervisord -c /etc/supervisord.conf

参数 "-c" 表示指定 Supervisor 配置文件的路径

把 supervisord 加入系统启动服务

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

    <key>KeepAlive</key>

    <dict>

        <key>SuccessfulExit</key>

        <false/>

    </dict>

    <key>Label</key>

    <string>dengjoe.supervisord</string>

    <key>ProgramArguments</key>

    <array>

        <string>/usr/local/bin/supervisord</string>

        <string>-n</string>

        <string>-c</string>

        <string>/etc/supervisord.conf</string>

    </array>

    <key>RunAtLoad</key>

    <true/>

</dict>

</plist>

启动 Supervisor 服务:

launchctl load ~/Library/LaunchAgents/dengjoe.supervisord.plist

supervisorctl 监控命令

supervisorctl 是 Supervisor 自带的后台进程控制工具,下面是该命令的一些用法:

启动应用:

supervisorctl start program

重新读取配置:

supervisorctl update
Python 相关文章推荐
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
Python全局变量用法实例分析
Jul 19 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
Python实现简单的语音识别系统
Dec 13 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
基于Python的Jenkins的二次开发操作
May 12 Python
Python调用OpenCV实现图像平滑代码实例
Jun 19 Python
python中 .npy文件的读写操作实例
Apr 14 Python
Python 正则表达式(转义问题)
Dec 15 #Python
python正则表达式中的括号匹配问题
Dec 14 #Python
python的类方法和静态方法
Dec 13 #Python
Python计算程序运行时间的方法
Dec 13 #Python
Python编程中的反模式实例分析
Dec 08 #Python
Python实现拼接多张图片的方法
Dec 01 #Python
python字符串替换的2种方法
Nov 30 #Python
You might like
PHP整数取余返回负数的相关解决方法
2014/05/15 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php的4种常用运行方式详解
2016/12/22 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
python处理文本文件并生成指定格式的文件
2014/07/31 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
python命令 -u参数用法解析
2019/10/24 Python
python缩进长度是否统一
2020/08/02 Python
Python图像读写方法对比
2020/11/16 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
承办会议欢迎词
2014/01/17 职场文书
舞蹈比赛获奖感言
2014/02/04 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
初中体育课教学反思
2016/02/16 职场文书