【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文档。
相关文章推荐
- java读properties的通用类,兼容linux和windows
- CentOS7安装iptables防火墙
- Linux进程管理与调度-之-目录导航
- 每天一个Linux命令(21)find命令_xargs参数
- CentOS 6.5/6.6 安装mysql 5.7 最完整版教程
- Linux_Timer
- 让锐捷客户端在linux平台飞
- Linux例行性工作排程 (crontab)
- linux常用命令
- 在Linux中分别安装应用于不同平台的QT:PC;嵌入式X86;ARM。
- Linux下用crontab定时执行PHP程序有问题时候的解决方式
- Linux下的find命令
- Linux下对拍脚本与随机数生成器
- iostat查看io情况(监控Linux的8种方式)
- Linux 线程通信
- centos linux 服务器时间少8个小时的问题
- LINUX 挂载硬盘开机自启动
- Linux中常用的查找文件的命令
- linux安装软件(rpm/yum/apt-get/python)等解决依赖问题
- Linux下的多进程编程