Linux后台进程管理利器:supervisor

转载 2015年07月07日 15:32:55

转自:http://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000


Linux后台进程管理利器:supervisor

廖雪峰 / 编程 / 2011-4-5 13:09 / 阅读: 18

Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启。

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

安装supervisor

Debian / Ubuntu可以直接通过apt安装:

# apt-get install supervisor

然后,给我们自己开发的应用程序编写一个配置文件,让supervisor来管理它。每个进程的配置文件都可以单独分拆,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名,例如,app.conf定义了一个gunicorn的进程:

[program:app]
command=/usr/bin/gunicorn -w 1 wsgiapp:application
directory=/srv/www
user=www-data

其中,进程app定义在[program:app]中,command是命令,directory是进程的当前目录,user是进程运行的用户身份。

重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:

# supervisorctl start app

停止进程:

# supervisorctl stop app

如果要在命令行中使用变量,就需要自己先编写一个shell脚本:

#!/bin/sh
/usr/bin/gunicorn -w `grep -c ^processor /proc/cpuinfo` wsgiapp:application

然后,加上x权限,再把command指向该shell脚本即可。

supervisor还有许多选项,默认的autorestart为unexpected(异常退出),具体请参考supervisor文档


相关文章推荐

Linux后台进程管理 supervisor

Linux后台进程管理 supervisor

Linux后台进程管理工具:Supervisor

Supervisor: Supervisor是一个进程监控程序。可以查看进程执行状态。使用需求:1、我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候...

Supervisor 管理后台守护进程

自己开发的应用往往也希望做到随系统自动启动, 而且启动之后最好还能方便的控制其停止/重启. 传统的做法是在 /etc/init.d/ 下建立启动脚本, 但这个方法非常繁琐, 容易出错, 而且不同服务器...
  • beerium
  • beerium
  • 2013年03月26日 15:01
  • 12947

supervisor管理后台进程之flume

supervisor管理后台进程之flume

后台进程管理工具---supervisor

supervisor是一个linux下的进程管理工具,有时需要开发一些后台服务类的程序,这类程序通常不能因为意外挂掉,所以最好能在出现意外挂掉的情况下能够重启,继续服务。之前我一直采用创建daemon...

使用Supervisor管理Linux进程

使用Supervisor管理Linux进程简介Supervisor是一个C/S系统,它可以在类UNIX系统上控制系统进程,由python编写,提供了大量的功能来实现对进程的管理。安装sudo pip ...
  • kongxx
  • kongxx
  • 2016年01月03日 20:11
  • 5127

linux使用 supervisor 管理进程

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单...
  • permike
  • permike
  • 2016年06月29日 15:56
  • 1492

linux进程管理工具supervisor

英文比较好的朋友,可以查看这篇文章 https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-superv...

Supervisor安装与配置(Linux/Unix进程管理工具)

原文链接:http://blog.csdn.net/xyang81/article/details/51555473Supervisor(http://supervisord.org/)是用Pytho...
  • xyang81
  • xyang81
  • 2016年06月01日 16:23
  • 26847

Supervisor安装与配置(Linux/Unix进程管理工具)

Supervisor安装与配置(Linux/Unix进程管理工具) 标签: supervisorLinux进程管理进程自动重启 2016-06-01 16:23 13421人阅读 评论(0...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux后台进程管理利器:supervisor
举报原因:
原因补充:

(最多只允许输入30个字)