Ubuntu进程控制系统Supervisor

在部署网站或者在ssh到服务器上去进行一些长时间操作的任务时候,通常不喜欢长时间开启终端在其中等待,尤其是Windows下putty这类软件,长时间不操作就会结束,尴尬的是,我们跑的进程也会直接终端,为了解决这个问题,我们需要把进程扔到后台,让他自己运行

Supervisor的进程控制系统

它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, daemontools和runit有些相似, 但是与它们不一样的是, 它不是作为init(进程号pid是1)运行. 它是被用来控制进程, 并且它在启动的时候和一般程序并无二致 supervisor是一个制作守护进程的工具,用户可以在UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。去帮我们维护各种服务器的进程,即使有软件崩了也能帮我们自动重启

Supervisor

首先先把官网丢上来http://supervisord.org/

安装

两种方式去安装

  1. 直接使用apt包管理安装
1
sudo apt-get install supervisor 
  1. 通过pip安装
1
sudo pip install supervisor 

安装成功后,supervisor就会默认启动

使用说明

有不同的使用方式,个人比较倾向把每个进程的文件单独拆分放在用户目录下,以conf为扩展名 这里以我自己的一个项目的进程作为例子

1
2
3
mkdir /home/priv/supervisor/conf.d
cd /home/priv/supervisor/conf.d
touch giteaserver.conf

giteaserver.conf文件内容

1
2


让supervisor重新加载配置文件,然后启动giteaserver进程

1
2
supervisorctl reload
supervisorctl start giteaserver

结束指定进程

1
supervisorctl giteaserver stop