Python Supervisord 进程管理工具
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记录了什么
Python Supervisord 进程管理工具相关推荐
- python怎么打开程序管理器_Python 进程管理工具 Supervisor 使用教程
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 进程管理工具 Supervisor 使用教程 Supervisor ...
- supervisord进程管理
Supervisord Supervisord是一款基于Python的进程管理工具,当主机上存在多个的进程需要管理时,通过supervisor可以简化进程的管理. 再通过supervisor提供的rp ...
- Supervisor:优秀的进程管理工具
前言 在服务器中,我们对于项目程序.服务等等的进程管理: 启动:如python,一般就是cd到对应的目录,然后通过python xxx.py进行启动: 关闭:通过ps -ef | grep progr ...
- linux服务与进程管理sup,linux下进程管理工具-supervisord
一 简介 supervisord是linux下的一个优秀的进程管理工具,通过supervisord可以方便管理和应用linux系统下服务进程过多的问题,其支持服务异常退出自动重启,通过浏览器管理控制相 ...
- 进程管理工具-Supervisord +CeSi
Supervisor 简介 Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动.重启(自动重启程序).关闭进程 ...
- 进程管理工具——Supervisord简介及安装
一.简介 Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动.重启(自动重启程序).关闭进程(不仅仅是 Pyt ...
- Python supervisor 强大的进程管理工具
一.问题背景 1.背景 如何才能让一个进程摆脱终端,获得相对较长的生命周期? 2.后台(守护).前台进程 什么是守护进程?通俗点讲就是后台跑着的进程,不会因为你关了终端服务就会随之停止,直到你把计算机 ...
- 【Supervisor】Python 进程管理工具
Supervisor的安装配置与使用 一.简介 [1]Supervisor是Python开发的进程管理工具(Client/Server系统),可以管理和监控Unix,Linux,Mac OS X 系统 ...
- linux下进程管理工具-supervisord
一 简介 supervisord是linux下的一个优秀的进程管理工具,通过supervisord可以方便管理和应用linux系统下服务进程过多的问题,其支持服务异常退出自动重启,通过浏览器管理控制相 ...
最新文章
- 基于耳-脑电图的脑机接口研究进展
- python计算平行线
- python读取caffemodel文件
- Python 3.9.1 安装教程
- elasticsearch api中的Delete By Query API操作
- 微信小程序,前端大梦想(七)
- RFC Destination WORKFLOW_LOCAL_001 - User WF-BATCH
- 【2018.4.7】模拟赛之六-ssl2387 树【图论,树】
- php imagecreatefromjpeg图片太大_PHP图像处理技术及应用
- 高效程序员常用的工具
- 【Elasticsearch】Elasticsearch-Hadoop打通Elasticsearch和Hadoop
- JavaScript 预解析机制
- python爬虫下载文件到指定文件夹_python - 图片爬虫时候遇到问题 urllib.request.urlretrieve 下载到指定文件夹不成功?...
- DOS 系统安装工具
- 下载并安装lsi MegaRAID raid卡 管理工具
- 软件工程实践 Blog5
- 苹果输入法怎么换行_朋友圈长文字不折叠输入法,复制粘贴避免只显示一行
- Are These Birds?
- 检测用户中的异常--UEBA方法
- 自动驾驶仿真软件SCANeRstudio(二)场景、仿真、分析