上周有个朋友问我:
- tomcat挂了,站点死了;
- service出core了,服务死了;
如何让挂掉的服务自动启动呢?
这里给大伙推荐一个常见的运维工具 supervisor。
supervisor是什么?
用Python开发的通用的进程管理工具。
supervisor有什么用?
supervisor能把一个普通进程变为后台daemon进程,并监控进程状态,在进程异常退出时能够自动重启(或者告警),同时还提供一些相关的管理功能。
supervisor是怎么做到的?
supervisor通过fork/exec的方式,把被管理的进程当作其子进程来启动,在被管理的子进程异常退出时(例如tomcat出异常挂掉,或者服务出core挂掉,或者收到异常信号挂掉),作为父进程可以获取相关信息,以选择后续如何处理。
之前没用过supervisor,这玩意是否靠谱?
supervisor诞生10年以上了,绝对靠谱,绝大部分运维同学都熟知它。
画外音:supervisor是很常见的运维工具,以下几个小问题旨在让不熟悉的同学简单了解相关原理,献丑了。
希望没有浪费这一分钟。
【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】