supervisor
来源:互联网 发布:网络协议由什么组成 编辑:程序博客网 时间:2024/05/29 11:03
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:applicationdirectory=/srv/wwwuser=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文档。
0 0
- supervisor
- supervisor
- supervisor
- supervisor
- supervisor
- supervisor
- supervisor
- supervisor
- supervisor
- Supervisor
- supervisor
- supervisor
- supervisor
- Supervisor行为
- erlang supervisor
- Supervisor行为
- supervisor管理
- 安装supervisor
- HDU_3400_Linebelt
- Collection 和 Collections的区别。
- (6) linux shell 命令 -- rmdir
- pp看书笔记---C#高级编程第九版 第八章 【委托、Lambda表达式和事件】
- POJ3414 广搜 喝水问题(路径输出)
- supervisor
- Java集合:集合框架
- C++ 多线程的数据保护机制
- R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)
- JQuery滚动条插件jScrollPane的详细使用(除去点击边框)
- 清除cookie最终办法
- 设置窗体响应键盘的优先级设为最高
- 荒岛野人
- mysql之分布式事务