Linux进程管理工具——supervisor

介绍

Supervisord是用Python实现的一款非常实用的进程管理工具

安装

这里用源码

supervisor-3.1.3.tar.gz
tar -zxvf supervisor-3.1.3.tar.gz
cd supervisor-3.1.3
sudo python setup.py install

生成默认配置文件

echo_supervisord_conf > /etc/supervisord.conf  

修改默认配置文件

如需访问wenb界面,修改inet_http_server配置

[inet_http_server]
port=*:9001     ;这里*表示可以让其他终端访问supervisor web界面
username=username ;  用户名
password=password  ;  密码  

可以利用命令行控制

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket

修改进程

[program:test_http]
command=python test_http.py 501  ; 被监控的进程路径
directory=/home/admin/soft/supervisor-3.1.3                ; 执行前要不要先cd到目录去,一般不用
priority=1                    ;数字越高,优先级越高
numprocs=1                    ; 启动几个进程
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=10               ; 启动失败时的最多重试次数
exitcodes=0                   ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout

这里test_http.py 位于directory(/home/admin/soft/supervisor-3.1.3)目录下

test_http.py

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"  

if __name__ == "__main__":
    if sys.argv[1:]:
        port = int(sys.argv[1])
    else:
        port = 8000  

    server_address = (‘10.125.24.105‘, port)
    HandlerClass.protocol_version = Protocol
    httpd = ServerClass(server_address, HandlerClass)  

    sa = httpd.socket.getsockname()
    print "Serving HTTP on", sa[0], "port", sa[1], "..."
    httpd.serve_forever() 

启动

sudo  supervisord -c /etc/supervisord.conf

管理

命令管理

sudo supervisorctl
status: 查看当前运行的进程列表
stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。
start xxx: 启动某个进程
restart xxx: 重启某个进程
stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)
stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。

重新加载配置文件

sudo  supervisorctl -c /etc/supervisord.conf

界面管理

时间: 2024-10-13 22:29:22

Linux进程管理工具——supervisor的相关文章

linux 使用进程管理工具 supervisor

1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具 supervisor需要运行在python2环境,如果需要使用supervisor管理python3的项目,需要借助于虚拟环境 2.安装supervisor: pip install supervisor 3.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf, 当进行到这一步时,终端提示需要 apt install supervisor,如果有该提示

Linux进程管理工具--God-详解(1)-入门

God是一个由Ruby编写的监控架构,它可以保障你的进程为运行状态,以及可以对一些特殊情况进行进程的重启.拓展可以通过frigga来进行全局god的管理. 最好的安装方式(通过ruby-gems): gem install god 快速启动 注意:快速启动需要0.12版本以上的,你可以使用以下命令查看版本: god --version 一个简单的例子:使用god保持一个简单的进程. 下面是一个简单的脚本,名字为hello.py #!/usr/bin/env python # import tim

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

supervisor是用python写的一个进程管理工具,用来启动,重启,关闭进程.下面这篇文章主要给大家介绍了关于python实现的进程管理工具supervisor的安装与使用的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧. 前言 在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便.如果有一个工具能够实现每台机器上多个进程的简单高效中心化管理将是非常方便的.于是Supervisord工具应运而生.与Su

Python 进程管理工具 Supervisor 使用教程

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

Linux进程管理工具 Supervisord 的安装 及 入门教程

Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor 主要就两个命令: supervisord : supervisor的服务器端部分,启动 supervisor 就是运行这个命令 supervisorctl:启动 supervisor 的命令行窗口. 安装(CentOS): 方式一: yum -y install python-

linux进程管理工具一

内核最强大功能之一就是进程管理,对于system administrator来说,这部分熟练度对于系统调优起着决定性作用.现在我们一起来了解一下linux的进程管理工具吧,在介绍工具之前,有些基本概念要澄清: task struct:Linux内核存储进程信息的固定格式多个任务的的task struct组件的链表:task list MMU:Memory Management Unit  实现线性地址和物理地址的转换(根据task structure)虚拟内存集:可以被换出到swap的地址空间

linux 进程管理工具

进程管理 狭义定义:进程是正在运行的程序的实例. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元. 进程是操作系统中最基本.重要的概念.是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上. 一.进程的属性: 进程ID(PID):是唯一的数值,用来区分进程: 父进程和父进程的ID(PP

Linux进程管理工具之top,htop,glances,dstat

借助于本次课程学习外加查阅网上资料,特针对top,glances.dstat做简单介绍. 接触过linux的人都会知道,刚才所述的几个都是与windows中任务管理器一样,只需在命令行中键入这几种命令,就可以定时刷新显示当前系统上各设备使用情况.比如CPU占用百分比.负载,硬盘读写速率,网络传输情况. top 其中显示的从上到下,从左到右各个的含义为: top:当前系统时间: up:系统运行时长: user:当前登陆的用户数: load average:平均负载(逗号隔开的三个数分别为过去一分钟

Linux进程管理工具的使用

进程管理工具之一 htop htop是基于ncurses做的,可以说是top的升级版,htop在继承了top原有的功能外让界面更加友好,支持交互式操作并且可以使用鼠标操作. 在命令行里输入htop回车就会看到htop的界面(前提是系统上安装了htop) CPU:cpu使用率 Mem:内存使用率 Swp:交换空间的使用率 Tasks:进程数 thr:线程数 Load average:系统平均负载 Uptime:系统运行时间 下方快捷键 F1 打开帮助 F2 打开设定 F3 可以给出关键字进行搜索