Daemontools使用笔记
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
信号
完整信息可以参考官方文档