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 os模块学习笔记
Jun 21 Python
Python 内置函数complex详解
Oct 23 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Python调用服务接口的实例
Jan 03 Python
使用python分析统计自己微信朋友的信息
Jul 19 Python
python numpy 常用随机数的产生方法的实现
Aug 21 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
Django如何继承AbstractUser扩展字段
Nov 27 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
Pygame Time时间控制的具体使用详解
Nov 17 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
Protoss魔法科技
2020/03/14 星际争霸
php adodb操作mysql数据库
2009/03/19 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
Python中property函数用法实例分析
2018/06/04 Python
Apache部署Django项目图文详解
2019/07/30 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
python实现图片横向和纵向拼接
2020/03/05 Python
django列表筛选功能的实现代码
2020/03/27 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
Linux中如何用命令创建目录
2015/01/12 面试题
写给学生的新学期寄语
2014/01/18 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
工会主席岗位责任制
2014/02/11 职场文书
高中运动会广播稿
2014/09/16 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL