supervisor管理进程

一、概述

        supervisor是一个进程管理工具,在ubuntu中也有一些其他的进程管理工具,比如systemctl。但是作为日常开发部署服务器,supervisor还是一个非常好用的工具。它可以:

        1. 开机自启动

        2. 进程异常中断自动检测重启进程

        3. WEB页面管理进程,并提供restful接口管理进程

二、安装

root@ubuntu:/opt# apt install supervisor
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
Suggested packages:
  python-doc python-tk python-setuptools python2.7-doc binutils binfmt-support
  supervisor-doc
The following NEW packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
  supervisor
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.

        配置文件在:/etc/supervisor/supervisord.conf

        我们第一步需要将上面配置文件中的地址指向/opt统一管理起来,当然你可以换一个你更为习惯的路径。

        supervisor进程管理一堆进程,当然supervisor也同样被systemctl管理,我们可以使用systemctl命令查看supervisor进程的状态,启动或者关闭进程,命令如下:

supervisord -c /etc/supervisor/supervisord.conf

systemctl status supervisor
systemctl start supervisor
systemctl stop supervisor
systemctl restart supervisor

        WEB页面管理进程

       在supervisor配置文件中添加:

[inet_http_server]       
port=127.0.0.1:9001     ; 服务器ip
username=xxx            ;自定义
password=xxx            ;自定义

我们打开浏览器:

        在管理页面上我们可以管理进程,也是挺方便的,对于少量机器还是挺方便的,并且http接口我们也可以远程调用管理进程。这样我们可以依托supervisor工具统一管理进程

三、测试

        我这里首先写一个jar包,这个jar包功能就是每秒钟写日志,持续100秒便结束进程。

[program:test-process-name]
command=/home/xuanchi/jdk/jdk1.8.0_101/bin/java -jar /home/xuanchi/supervisor/supervisor-1.0.0.jar
directory=/home/xuanchi/supervisor/   ; 执行 command 之前,先切换到工作目录
user=xuanchi                          ; 使用 oxygen 用户来启动该进程
autorestart=true
startsecs=5

redirect_stderr= true
stdout_logfile = /home/xuanchi/supervisor/supervisor-stdout.log
loglevel=info
stdout_logfile_maxbytes = 20M
stdout_logfile_backup = 10

我们验证了我们的结果,当进程自动结束后,supervisor检查到进程结束会自动拉起来,保证进行不会异常中断。然后我们重启服务器,重启后发现进程还在正常运行,说明开机重启功能是可以的。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值