您的位置:首页 > 运维架构 > Linux

【Supervisor】Linux 后台进程管理利器

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

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

supervisor安装

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

apt-get install supervisor

或者
pip
安装:
pip 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=root
autostart=true
....

其中,进程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
的其他配置,具体请参考supervisor文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: