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实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
初探TensorFLow从文件读取图片的四种方式
Feb 06 Python
django用户登录和注销的实现方法
Jul 16 Python
python判断链表是否有环的实例代码
Jan 31 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
python实现mean-shift聚类算法
Jun 10 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
Python解析微信dat文件的方法
Nov 30 Python
Python3 类型标注支持操作
Jun 02 Python
浅析python中特殊文件和特殊函数
Feb 24 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/04 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
Vue实现购物车功能
2017/04/27 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
诉讼授权委托书
2014/10/15 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
教师节大会主持词
2015/07/06 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
护理工作心得体会
2016/01/22 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书