Python Supervisord 进程管理工具

分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

Supervisord,用Python实现的一款非常实用的进程管理工具,在批量服务化管理时特别有效。

环境
centos
python2.6.6

安装 
wget http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0a10.tar.gz
tar zxvf supervisor-3.0a10.tar.gz
cd supervisor-3.0a10
python setup.py install
如果上述遇到问题,请按如下操作。

依赖setuptools安装
wget https://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
sh setuptools-0.6c11-py2.6.egg

更多 setuptools

产生基础配置文件
echo_supervisord_conf > /etc/supervisord.conf

配置
[inet_http_server]前面的分号去掉; 如下:

启动
/usr/local/bin/supervisord -c /etc/supervisord.conf

关闭

username=user
passwd=123
/usr/local/bin/supervisorctl -u{$username} -p{$passwd} stop all
/usr/local/bin/supervisorctl -u{$username} -p{$passwd} shutdown

查看
浏览器打开 http://127.0.0.1:9001

如下图:

深入配置
[program:service]
command=sh /opt/soft/service/run.sh  ; the program (relative uses PATH, can take args)
process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1                    ; number of processes copies to start (def 1)
directory=/opt/soft/service/                ; directory to cwd to before exec (def no cwd)
autostart=true                ; start at supervisord start (default: true)
autorestart=true              ; retstart at unexpected quit (default: true)
stopsignal=QUIT               ; signal used to kill process (default TERM)
stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
以上配置了一个shell脚本的启动和stop过程。
一般java程序都喜欢在一个shell脚本内初始化classpath,再执行java main。
直接在shell中run java会出现stop失败的情况,在启动前添加 exec即可。

#!/bin/sh
export CLASSPATH=.
for jarpath in `ls library/*.jar`
do
    CLASSPATH=$CLASSPATH:$jarpath
done
export CLASSPATH=$CLASSPATH
exec java com.chen.main;

帮助
supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。

http://smarden.org/runit/runscripts.html 一些可参考的启动配置

注意 
不带参数运行supervisord是以daemon方式运行。
把supervisord加入到开机启动项里就可以完成监控进程的功能了。
当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。
而以daemon方式运行,杀掉supervisord对被监控进程无影响。

参考推荐:

Supervisord管理Python进程

Supervisord管理杂乱的服务

Linux /proc/pid记录了什么

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

原文地址:https://www.cnblogs.com/siwnckhhw/p/10524692.html

时间: 2024-10-09 06:31:21

Python Supervisord 进程管理工具的相关文章

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-

supervisor——进程管理工具

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动. 1.安装 Supervisor 可以运行在 Linux.Mac OS X 上.如前所述,supervisor 是 Python 编

Supervisor 进程管理工具

Supervisor  进程管理工具时刻检测进程存活状态:可用来启动.重启.关闭进程: Supervisord(supervisor是一个C/S模型的程序,这是server端,对应的有client端:supervisorctl)和应用程序(即我们要管理的程序). 一.下载: https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3

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配置

Supervisor安装与配置(Linux/Unix进程管理工具)

http://blog.csdn.net/xyang81/article/details/51555473 https://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000 1,Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统.它可以很方便

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

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

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,如果有该提示

pm2进程管理工具使用总结

对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本.关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能.官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除node之外的其他进程无负载均衡的能力. 一,pm2特点: 说一些pm2有哪些优点好处呢? 支持进程行为配置 ,即可以通过配置,实现pm2管理应