用supervisord管理杂乱的服务

栏目: Java · 发布时间: 5年前

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

用supervisord管理杂乱的服务

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

环境

centos

python2.4

安装

wget http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0a10.tar.gz#md5=99c6fbd45bade87301296b7a597fb68e

tar zxvf supervisor-3.0a10.tar.gz

cd supervisor-3.0a10

python setup.py install

如果上述遇到问题,请按如下操作。

依赖setuptools安装

wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2b

sh setuptools-0.6c11-py2.4.egg

产生基础配置文件

echo_supervisord_conf > /etc/supervisord.conf

配置

[inet_http_server]前面的分号去掉;

定义port=192.168.1.1:8888

启动

supervisord -c /etc/supervisord.conf

查看

浏览器打开 http://192.168.1.1:8888

深入配置

[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对被监控进程无影响。

觉得文章有用?立即:和朋友一起 共学习 共进步!

QQ技术交流群:445447336,欢迎加入!

扫一扫订阅我的微信号:IT技术博客大学习


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码之美

代码之美

Grey Wilson / 聂雪军 / 机械工业出版社 / 2008年09月 / 99.00元

《代码之美》介绍了人类在一个奋斗领域中的创造性和灵活性:计算机系统的开发领域。在每章中的漂亮代码都是来自独特解决方案的发现,而这种发现是来源于作者超越既定边界的远见卓识,并且识别出被多数人忽视的需求以及找出令人叹为观止的问题解决方案。 《代码之美》33章,有38位作者,每位作者贡献一章。每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。38位大牛,每个人对代码之美都有自......一起来看看 《代码之美》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具