Daemontools
介绍
Daemontools是一个watchdog工具,用于监听指定进程并保活。
安装
Daemontools十分小巧,推荐编译安装。
以下摘自官网:
生成编译文件夹
1 | mkdir -p /package |
下载解压包
1 | gunzip daemontools-0.76.tar |
编译
1 | package/install |
可能遇到的问题
配置
安装完后,daemontools分为两部分:
/command/: 存储daemontools的可执行文件,安装时连接到/usr/local/bin下;/service/: 保存Service配置。
Service
每个service以文件夹的形式保存。
每个文件夹下保存可执行文件run,作为执行的程序。run文件推荐赋值权限755。
权限示例
1 | [root@greenvm-lkf7700v2 ~]# ls -al /service/zookeeper/ |
run文件示例
1 |
|
ps: 注意设置环境变量,除了导入脚本或者写死。也可以参考使用 envdir命令)
使用
自启动
centos7下可以调用系统的Systemd服务让svscanboot自行启动。svscanboot将自动调用svscan /service 2>&1 | readproctitle service errors: .....命令,详细说明参见官网。
启动后使用ps aux | grep supervisor命令可观察到监工进程已启动
1 | root 33920 0.0 0.0 112660 940 pts/0 S+ 17:40 0:00 grep --color=auto super |
对服务进行操作
使用svc命令对supervisor进行操作,命令如下:
-u: 启动服务,若已经启动则重启-d: 关闭服务,不重启 (发送TERM信号)-o: 仅启动-k: 发送KILL信号
完整信息可以参考官方文档