概念
- supervisord
- 服务端
- 启动supervisor程序自身,启动supervisor管理的子进程,响应supervisorctl的请求,重启闪退或异常退出的子进程,把子进程的stderr或stdout记录到日志文件中,生成和处理event
- supervisorctl
- 客户端
使用
- supervisord配置文件默认位置
- /etc/supervisor/supervisor.conf
- 包括include
supervisord -c /etc/supervisord.conf
- supervisorctl status
- 查看状态
- supervisorctl start web_server
- 开启一个进程
- supervisorctl stop web_server
- 停止一个进程
- supervisorctl restart web_server
- 重启一个进程
- supervisorctl reload
- 重新加载配置
- supervisorctl update
- 更新启动列表
问题
服务部署在docker里,在docker内使用supervisor监控服务,但无法生成core文件,排队docker空间限制原因,因为supervisor程序并不能获取ulimit -c设置的参数
- 解决方案
- 修改supervisor源码
- 在启动supervicsord的脚本中设置ulimit
- 参考
http://smilejay.com/2016/06/centos-7-systemd-conf-limits/
https://www.jianshu.com/p/f5920842b27b