supervisor使用

1。yum install supervisor

2.配置文件路径   supervisor配置文件:/etc/supervisord.conf

3.配置子进程 打开supervisord.conf,最后加上这句 子进程的目录文件都在这里

[include]
files = /etc/supervisor/conf.d/*.conf 

4.配置各个子进程的文件

#项目名
[program:blog]
#脚本目录
directory=/opt/bin
#脚本执行命令
command=/usr/bin/python/opt/bin/test.py

#supervisor启动的时候是否随着同时启动,默认True
autostart=true
#当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=false
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1

#脚本运行的用户身份 
user = test

#日志输出 
stderr_logfile=/tmp/blog_stderr.log 
stdout_logfile=/tmp/blog_stdout.log 
#把stderr重定向到stdout,默认 false
redirect_stderr = true
#stdout日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20MB
#stdout日志文件备份数
stdout_logfile_backups = 20


[program:es_comment]
command=su -c "/data/download/elasticsearch/bin/elasticsearch" elasticsearch


stderr_logfile=/etc/supervisor/supervisor_log/es_comment.err.log
stdout_logfile=/etc/supervisor/supervisor_log/es_comment.out.log
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true

 

 启动supervisor   ,使用supervisor进程管理命令之前先启动supervisord,否则程序报错。

systemctl start supervisord.service     //启动supervisor并加载默认配置文件
systemctl enable supervisord.service    //将supervisor加入开机启动项

 supervisor 命令

supervisorctl status        //查看所有进程的状态
supervisorctl stop es       //停止es
supervisorctl start es      //启动es
supervisorctl restart       //重启es
supervisorctl update        //配置文件修改后使用该命令加载新的配置
supervisorctl reload        //重新启动配置中的所有程序
原文地址:https://www.cnblogs.com/elsons/p/14911261.html