Mac下Supervisor进程监控管理工具的安装与配置

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

(0)

相关推荐

  • python进程管理工具supervisor的安装与使用教程

    前言 在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便.如果有一个工具能够实现每台机器上多个进程的简单高效中心化管理将是非常方便的.于是Supervisord工具应运而生.与Supervisord类似的工具包括monit, daemontools和runit.下面话不多说了,来一起看看详细的介绍吧. 安装 Supervisord是运行在Python环境下的服务监控程序,所以在安装supervisord之前必须

  • 基于Python 的进程管理工具supervisor使用指南

    Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版 supervisor-py3k. 什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式执行的程序,比如一个后台任务,我最常用的是用来启动和管理基于 Tornado 写的 Web 程序. 除此之

  • python进程管理工具supervisor使用实例

    平时我们写个脚本,要放到后台执行去,我们怎么做呢? 复制代码 代码如下: nohup python example.py 2>&1 /dev/null & 用tumx或者screen? 但是用着可能都不爽,今天就看看python里面的一个进程管理工具supervisor: 官方说:Supervisor: A Process Control System 说白了他就是一个demon程序,他来帮助我们完成对我们想要托管的脚本也好程序也好,好好的照料: 1.安装 python的东西就是好安

  • 使用Python的Supervisor进行进程监控以及自动启动

    做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下. 结合之前在腾讯工作的经验,也会讲讲腾讯的服务器监控是怎么做的.同时也会讲下小团队又该怎么敏捷的解决. 下面按照监控的方法依次介绍. 一.按照进程名监控 在腾讯内部所有server都是要打包发布的,而在打包过程中是需要填写要监控的进程名,然后在crontab中定时通过ps查询进程是否存在. 这种方法是比较简单的方法,但是考虑到很多进程会在启

  • PHP程序员玩转Linux系列 使用supervisor实现守护进程

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装nginx 7.PHP程序员玩转Linux系列-nginx初学者引导 8.PHP程序员玩转Linux系列-N

  • 利用Supervisor管理Redis进程的方法教程

    前言 Supervisor 是一个用 Python 实现的进程管理工具,可以很方便地启动,关闭,重启,查看,以及监控进程,当进程由于某种原因崩溃或者被误杀后,可以自动重启并发送事件通知.Supervisor 可谓运维利器,使用 Supervisor 来管理进程,可以提高系统的高可用特性. 随着 Redis 越来越流行,越来越多的公司都使用上了 redis,因此 Redis 的进程管理就成了很多公司都需要面临的问题,本文介绍如何使用 Supervisor 来管理 Redis 进程. Supervi

  • PHP框架Laravel中实现supervisor执行异步进程的方法

    问题描述 大家在使用Laravel框架实现动态网页时,若有些操作计算量较大,为了不影响用户体验,往往需要使用异步方式去处理.这里使用supervisor和laravel自带的queues实现.下面来看看详细的介绍: Supervisor Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导

  • Python使用Supervisor来管理进程的方法

    本文实例讲述了Python使用Supervisor来管理进程的方法.分享给大家供大家参考.具体分析如下: Supervisor可以启动.停止.重启*nix系统中的程序.也可以重启崩溃的程序. supervisord的一个守护进程,用于将指定的进程当做子进程来运行. supervisorctl是一个客户端程序,可以查看日志并通过统一的会话来控制进程. 看例子: 我们写了一个py脚本,用于往log文件中记录一条当前的时间. root@ubuntu:/home/zoer# cat daemon.py

  • Mac下Supervisor进程监控管理工具的安装与配置

    Supervisor是一个类 unix 操作系统下的进程监控管理工具. 安装 Supervisor Supervisor是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Index) 直接安装: 复制代码 代码如下: sudo pip install supervisor 配置 Supervisor Supervisor 的配置文件命名为 supervisord.conf,它为 supervisord(Supervisor 的主服务命令) 和

  • python3实现windows下同名进程监控

    python3实现windows下同名进程监控,供大家参考,具体内容如下 公司老版的SVN服务器的svn服务经常意外关闭,需要写个简单的监控脚本监控一下: 首先多个SVN服务使用不同的端口,使用wmic命令查看所有SVN进程占用的端口以此来判断目标服务是否存活,wimc命令如下: wmic process where caption="svn.exe" get commandline /value 然后用正则取出标准输出中的端口,用来比对: def get_alive_port(pro

  • Golang开发Go依赖管理工具dep安装验证实现过程

    目录 Go依赖管理工具 环境要求 目前版本 安装 验证 初始化 默认初始化 优先从$GOPATH初始化 Gopkg.toml Gopkg.lock 常用命令 dep ensure dep ensure -add dep ensure -update Go依赖管理工具 Go dependency management tool 环境要求 Golang >= 1.9Dep 目前版本 dep: version : devel build date : git hash : go version : g

  • Mac下关于PHP环境和扩展的安装详解

    一直使用windows和Centos进行开发,之前公司配了Mac本,放家里吃灰了一年,新公司还是Mac,无奈只好从头摸索. php安装主要使用brew,请注意 由于git上原homebrew/php已经停掉,新的均迁移到到brew/core上,因此之前的安装方法无法使用,请注意!!!!! 安装php等操作均使用以下步骤: 1.搜索可用php版本 brew search php 2.安装指定的php版本 brew install php@7.1 3.启动php或停止php服务 brew servi

  • nodejs管理工具nvm安装过程详解

    nvm nvm负责管理多个版本的nodejs 安装: https://github.com/coreybutler/nvm-windows/releases 下载nvm-setup.zip,nvm-noinstall.zip 点击nvm-setup.exe安装,一路下一步,这里安装到C:\dev\nvm,安装完成后自动配置了环境变量:NVM_HOME,NVM_SYMLINK,也会添加到Path 验证是否安装成功,打开命令行cmd nvm常用的命令 nvm list 查看当前安装的Node.js所

  • MySQL图形化管理工具Navicat安装步骤

    目录 前言 1.为大家整理了安装包 2.安装Navicat,双击Navicat.exe 3.选择Navicat安装目录: 4.完成安装 前言 MySQL 服务器正确安装以后,可以通过命令行管理工具或者图形化的管理工具来操作 MySQL 数据库. MySQL 图形化管理工具极大地方便了数据库的操作与管理,除了系统自带的命令行管理工具之外,常用的图形化管理工具还有 MySQL Workbench.phpMyAdmin.Navicat.MySQLDumper.SQLyog.MySQL ODBC Con

  • Docker可视化ui管理工具Portainer安装及使用解析

    Portainer是一款优秀的Docker图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作.Swarm集群和服务等集中管理和操作.登录用户管理和控制等功能.功能十分全面,安装起来也非常的简单,推荐给大家. 1.下载Portainer镜像 搜索portainer镜像: [root@iZbp13sno1lc2yxlhjc4b3Z /]# docker search portainer NAME DESC

  • node.js开发辅助工具nodemon安装与配置详解

    nodemon安装及使用 全局安装 nodemon 包,这样新创建的 Node.js 应用都能使用 Nodemon 运行起来了 npm install -g nodemon 安装完成之后,Nodemon 就可以启动 Express 应用了,先关闭当前正在执行的应用程序,然后再执行命令: nodemon index.js 默认地,nodemon会自动打开index.js.所以,也可以使用如下命令 nodemon 通过 Nodemon 启动应用之后,不管是修改了代码,还是安装了新的 npm 包,No

  • MySQL性能监控软件Nagios的安装及配置教程

    Nagios是一款Linux上成熟的监视系统运行状态和网络信息的开原IT基础设施监视系统,Nagios能监视所指定的本地或远程主机及服务,例如HTTP服务.FTP服务等,同时提供异常通知.事件处理等功能,当主机或服务出现故障时,Nagios还可以通过邮件.手机短信等形式在第一时间进行通知.Nagios可运行在Linux和Unix平台上,同时提供一个可选的基于浏览器的Web界面,方便系统管理员查看系统的运行状态.网络状态.各种系统问题及日志异常等. 环境: 192.168.0.201      m

  • Golang中的包及包管理工具go mod详解

    目录 一.包 二.包管理工具go mod 三.init函数 四.使用第三方包 一.包 1.包的种类:系统内置包.自定义包.第三方包. (1)系统内置包:go语言自带包,如str.conv.fmt等 (2)自定义包:开发者自己写的包 (3)第三方包:属于自定义包的一种,需下载到本地才能使用, 如可以从GitHub上下载的第三方包. 2.包是多个go源文件的集合,一个package下可以有多个go文件,归属于同一package 二.包管理工具go mod 1.在go的1.11版本之前如果想自定义包需

随机推荐