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基础教程之python消息摘要算法使用示例
Feb 10 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
Dec 31 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
python如何查看微信消息撤回
Nov 27 Python
使用 Python 处理 JSON 格式的数据
Jul 22 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
在keras里实现自定义上采样层
Jun 28 Python
python绘图subplots函数使用模板的示例代码
Apr 30 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP的加密方式及原理
2012/06/14 PHP
PHP实现的简单日历类
2014/11/29 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
JS实现灯泡开关特效
2020/03/30 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
详解Python with/as使用说明
2018/12/13 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
创业计划书中包含的9个方面
2013/12/26 职场文书
商场中秋节活动方案
2014/02/07 职场文书
班主任对学生的评语
2014/04/26 职场文书
民事诉讼代理词
2015/05/25 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript