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 相关文章推荐
python学习之编写查询ip程序
Feb 27 Python
利用Python实现颜色色值转换的小工具
Oct 27 Python
python中的变量如何开辟内存
Jun 26 Python
Selenium鼠标与键盘事件常用操作方法示例
Aug 13 Python
Python语言进阶知识点总结
May 28 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
Sep 23 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
PyQt5通过信号实现MVC的示例
Feb 06 Python
十个Python自动化常用操作,即拿即用
May 10 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
JAVA/JSP学习系列之七
2006/10/09 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
javascript表单正则应用
2017/02/04 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
python获取网页状态码示例
2014/03/30 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
教学质量评估实施方案
2014/03/17 职场文书
团队经理竞聘书
2014/03/31 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
小学学校评估方案
2014/06/08 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
先进党支部申报材料
2014/12/24 职场文书
高中生毕业评语
2014/12/30 职场文书
股份转让协议书范本
2015/01/27 职场文书
研究生个人学年总结
2015/02/14 职场文书
演讲开场白台词大全
2015/05/29 职场文书
蜗居观后感
2015/06/11 职场文书
社区干部培训心得体会
2016/01/06 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python