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使用MySQLdb访问mysql数据库的方法
Aug 03 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
Aug 23 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
Pandas时间序列:重采样及频率转换方式
Dec 26 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
win10安装python3.6的常见问题
Jul 01 Python
python如何构建mock接口服务
Jan 28 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
详解node child_process模块学习笔记
2018/01/24 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
python 排列组合之itertools
2013/03/20 Python
连接Python程序与MySQL的教程
2015/04/29 Python
python实现将汉字转换成汉语拼音的库
2015/05/05 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
Django后台admin的使用详解
2019/07/08 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
日本小田急百货官网:Odakyu
2018/07/19 全球购物
护理专业学生的求职信范文
2013/12/11 职场文书
打架检讨书100字
2014/01/08 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
银行开业庆典方案
2014/02/06 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
大学生自荐材料范文
2014/12/30 职场文书
微观世界观后感
2015/06/10 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL