linux守护进程实践,linux 守护进程 supervisor 部署实践

Supervisor(http://supervisord.orgPython 开发的一个 client/server 服务,是 Linux/Unix 系统下的一个进程管理工具,不支持 Windows 系统。) 是用

它可以很方便的监听、启动、停止、重启一个或多个进程。用 Supervisor 管理的进程,当一个进程意外被杀死,supervisort 监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写 shell 脚本来控制。

1.安装

yum install python-setuptools

pip install supervisor

检查 supervisor 是否安装成功。

python

import supervisor

ded1affd71a7f372142c6862daf9e07c.png

2.生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

3.修改配置文件,本人喜欢每个进程编写一个配置文件的方法。

vi /etc/supervisord.conf

拉到文件最下方

[include]

files = /root/view/supervisor/*.ini

注意:文件里的分号表示注释,[include] 前面的分号必须去掉

697a51f860b03e6e45029c82bc19142a.png

4.进程例子

[program:gamefenxi]

command=python /root/view/gamefenxi.py

stdout_logfile=/root/view/gamefenxi.txt

autostart=true

autorestart=true

startsecs=5

priority=1

stopasgroup=true

killasgroup=true

5.配置 supervisor 启动文件,随系统启动。

vi /etc/rc.d/init.d/supervisord

写入

#!/bin/bash

. /etc/rc.d/init.d/functions

RETVAL=0

start() {

echo -n $"Starting supervisord: "

daemon supervisord

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord

}

stop() {

echo -n $"Stopping supervisord: "

killproc supervisord

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/supervisord

}

restart() {

stop

start

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart|force-reload|reload)

restart

;;

condrestart)

[ -f /var/lock/subsys/supervisord ] && restart

;;

status)

status supervisord

RETVAL=$?

;;

*)

echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"

exit 1

esac

exit $RETVAL

给文件赋权限

chmod 755 /etc/rc.d/init.d/supervisord

6.启动 supervisor

service supervisord start

守护结果示例,手工 kill agent 进程,supervisord 自动拉起进程

2017-12-28 14:52:19,713 INFO exited: agent (terminated by SIGTERM; not expected)

2017-12-28 14:52:19,718 INFO spawned: 'agent' with pid 42816

2017-12-28 14:52:24,724 INFO success: agent entered RUNNING state, process has stayed up for > than 5 seconds (startsecs)

7.supervisor 命令 supervisorctl

e8f6d6de90f0b6cb756e6313a5bf0b2b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值