linux监控工具supervise的使用
一、简介
supervise是Daemontools工具包中的工具之一,主要用来对进程进行监控。它能够监控指定的进程,当进程挂掉的时候,可以重新启动该进程。
supervise添加监控的服务非常容易,格式如下:
supervise serverDir [参数]
serverDir启动服务shell文件所在目录,即run文件所在目录,当server挂了之后,supervise会调用serverDir目录下面的run文件来启动服务。
二、使用
1、案例1
假设现在需要监控的一个shell进程,test.sh 代码如下:
#! /bin/bash
echodate +"%Y-%m-%d %H:%M:%S"
sleep 5
上面的代码,输出当前时间,然后暂停5s就退出。
通过如下命令,执行上面程序:
./test.sh >> /data/test.log
发现,往test.log中输入了:2019-05-21 16:25:07
现在,我们利用 supervise工具,让test.sh退出后,再次启动。
首先,建立run文件来启动 test.sh服务,如下:
#!/bin/sh
echo “start test!”
cd /home/lidequan/test && ./test.sh
然后,让supervise监控并启动test.sh服务,如下:
supervise test/ >> /data/test.log
通过“sudo ps -aux |test”我们就可以看到test进程被监控。
sudo ps -ef | grep tes
10:00 pts/0 00:00:00 supervise test
10:01 pts/0 00:00:00 /bin/bash /home/muke/test/test.sh
10:02 pts/0 00:00:00 grep --color=auto tes
当test.sh进程运行结束后,会被再次启动。
2021-5-5 12:00:00
start test!
2020-5-5 12:00:05
start test!
2020-5-5 12:00:08
start test!
2020-5-5 12:00:12
start test!
2020-5-5 12:00:115
start test!
此时,我们使用kill命令,杀死 test.sh所在进程后,它会立马启动起来。
如果想关闭 test.sh的执行,可以杀死 supervise test/ 所在进程。
本文仅以作为学习记录
感谢原作者分享