守护进程(Daemon)是一种运行在后台的特殊进程,
它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。
监控服务器的主要后台进程,并在出现问题是自动重启。
使用原因
1、它是微软官方文档推荐的,降低学习成本。
2、它并不一定是最好的,但一定是文档最全的。
supervisord是supervisor的服务端程序。
supervisorctl就是client的客户程序。
安装
supervisor-
3.1
.
3
.
tar
.gz
tar
-zxvf supervisor-
3.1
.
3
.
tar
.gzcd supervisor-
3.1
.
3
sudo
python setup.py
install
生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
修改默认配置
[inet_http_server] port=*:
9001
;这里*表示可以让其他终端访问supervisor web界面username=username ; 用户名 password=password ; 密码
修改进程
[program:test_http]
command=python test_http.py 501 ; 被监控的进程路径
directory=/home/admin/soft/supervisor-3.1.3 ; 执行前要不要先cd到目录去,一般不用
priority=1 ;数字越高,优先级越高
numprocs=1 ; 启动几个进程
autostart=true ; 随着supervisord的启动而启动
autorestart=true ; 自动重启。。当然要选上了
startretries=10 ; 启动失败时的最多重试次数
exitcodes=0 ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL ; 用来杀死进程的信号
stopwaitsecs=10 ; 发送SIGKILL前的等待时间
redirect_stderr=true ; 重定向stderr到stdout
stdout_logfile=/home/jihite/log/supervisor.log
启动
sudo
supervisord -c /etc/supervisord.conf
命令管理
sudo supervisorctl
status: 查看当前运行的进程列表
stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。
start xxx: 启动某个进程
restart xxx: 重启某个进程
stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)
stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
reload 重新配置配置中的所有程序
update 更新新的配置到supervisord
关闭superviso
supervisorctl shutdown
查看进程是否运行:
ps -ef|grep supervisor
查看任务状态:
supervisorctl
web界面:
http://192.168.199.66:9009/
对列进程
supervisorctl
start
app
supervisorctl stop app