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实现简易端口扫描器代码实例
Mar 15 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
Python利用pandas计算多个CSV文件数据值的实例
Apr 19 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
Python concurrent.futures模块使用实例
Dec 24 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
Python devel安装失败问题解决方案
Jun 09 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 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
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
checkbox使用示例
2013/08/23 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
Python高效编程技巧
2013/01/07 Python
详解Django框架中的视图级缓存
2015/07/23 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Python自省及反射原理实例详解
2020/07/06 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
安全员岗位职责
2013/11/11 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
python for循环赋值问题
2021/06/03 Python
MySQL约束超详解
2021/09/04 MySQL