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中time模块和datetime模块的用法示例
Feb 28 Python
python将ansible配置转为json格式实例代码
May 15 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
python实现画出e指数函数的图像
Nov 21 Python
Python list运算操作代码实例解析
Jan 20 Python
如何在mac下配置python虚拟环境
Jul 06 Python
python xlwt模块的使用解析
Apr 13 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 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 中的一些经验积累
2006/10/09 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
jQuery实现开关灯效果
2020/08/02 jQuery
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
详解Python 函数如何重载?
2019/04/23 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
应届生法律求职信
2013/10/22 职场文书
擅自离岗检讨书
2014/02/11 职场文书
仓管员岗位职责
2015/02/03 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis