Supervisor进程管理

1. Supervisor简介

   Supervisor是用Python开发的进程管理工具,可以很方便的用来启动、重启、关闭一个进程或者多个进程,而不仅仅是 Python 进程。supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编写代码来控制。

2. Supervisor安装

yum install supervisor

3. 配置文件

安装好supervisor后,在 /etc目录下会生成两个配置文件。
/etc/supervisord.conf:supervisor服务的配置文件。
/etc/supervisord.d/:被管理的子进程的配置文件目录,默认为ini格式,可在supervisor主配置文件中修改。

4. 管理子进程

将被管理的子进程编写一个配置文件,放在/etc/supervisor.d/目录下,以.ini作为扩展名。可以在一个配置文件里把要管理的所有进程都配置好,即在该文件中写多个项目名[program:flask_smartcity],也可以为每一个要管理的进程单独创建一个配置文件,即flask_smartcity.conf

# 项目名0
[program:flask_smartcity]
# 脚本目录
directory=/export/flask_smartcity
# 脚本执行命令
command=/export/flask_env/bin/uwsgi --ini flask/project/flask_uwsgi.ini

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

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

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

5. 常用指令

  1. supervisor启动服务端
supervisord -c /etc/supervisord.conf
  1. 使用supervisor操作进程
    把下面命令的具体进程名改成 all,即可查询所有进程状态。
supervisorctl smartcity          	 # 查看所有进程的状态
supervisorctl start smartcity        # 启动smartcity
supervisorctl stop smartcity         # 停止smartcity
supervisorctl restart smartcity      # 重启smartcity
supervisorctl update       			 # 配置文件修改后使用该命令加载新的配置
supervisorctl reload        		 # 重新启动配置中的所有程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值