supervisor 重启_旗鱼云梯Linux 后台进程管理利器Supervisor

旗鱼云梯Linux Supervisor进程管理器

supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台运行进程,并监控进程状态,异常退出时能自动重启。

Supervisord将通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,并且在程序以外中止后,迅速自动重新启动它们,不用再自己编写脚本来监控程序是否正常运行,非常方便。

Supervisord可以很方便的获取进程运行状态,启动、停止、重启一个或多个进程,对于不熟悉shell命令的用户来说是非常方便简单易用的工具。Supervisor已经存在了很多年了,是一个非常成熟稳定的进程管理工具。

Supervisord的安装部署,进程的创建管理对于一般用户来说还是有些麻烦和不易的。用户只想要一个在程序异常终止后自动重启程序的工具,或配置开机自启程序,并不想明白配置文件参数是什么意思,怎么配置等,毕竟不是搞这方面的。Supervisord的web管理工具又非常的简陋,只能控制并不能创建进程,还是需要手动创建配置文件。

旗鱼云梯根据用户的需求开发了基于supervisord管理器的web管理工具,非常方便使用,非常适合一般用户。

e31a2695e1c0dc6f7b885ea4e0df4884.png

下面我们创建一个进程来试一下

1. 创建一个python程序,每秒打印一次当前时间

a)

ae60cdb18e6d22e0974b8d87df39b327.png

b) 这里有个重点是,Supervisord只能管理前台进程,也就是阻塞进程。就像test.py脚本,运行后会一直阻塞这并不会结束,每隔一秒输出当前时间,如果没有while True, 那么运行后会立即结束并不会阻塞在那里,因为已经运行结束了Supervisord管理器就无法管理它了。

2. 创建Supervisord管理进程

a)

52af36beb63ff673b9f72d03c1a6c0ad.png

b) 运行目录就是 test.py脚本所在目录

c) 启动命令就是在命令行中运行test.py脚本时执行的命令,在这里要加一个 -u参数,因为print输出是有缓冲区的,无法立即输出,直到缓冲区满,-u参数表示无缓冲区,立即输出。

3. 创建成功,可以看到进程id,运行状态,运行时间,日志目录,并且能重启,停止,删除进程等操作。

2543ff47a4318c17f2617b45eaf878aa.png

a) 点击查看日志,进入日志目录, error.log是程序运行错误日志,output.log是输出日志,我们每间隔一秒输出的当前时间就在这个日志里

i.

45ae76d785cede8f5a3f5750fe24651e.png

ii.

f1b775832a2afbd0a36b2d1e60d1053c.png

4. 下面来验证一下,程序异常终止的时候,Supervisord管理器是否能自动重启进程呢?

a)

7c5181b6fc39d4b489548c1128d60434.png

b)

cfa065556734e57337503b43f3272374.png

c)

dd173386bda2a53c6dffa907b7e70491.png

在命令行中手动结束test.py 这个进程,可以看到进程结束成功,Supervisord管理器立即自动重启了test.py程序。

旗鱼云梯每分钟检测Supervisord管理器主程序是否启动,如未启动会自动启动Supervisord管理器,并且对Supervisord管理器主程序配置了开机自启,Supervisord启动的时候会自动启动它所管理程序。因此如果需要配置开机自启程序的话,可以添加到Supervisord管理器中,即可实现程序的开机自启功能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值