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 //重新启动配置中的所有程序