supervise 用来监控服务,自动启动

Atong介绍的这个工具,挺好用的。supervise

官方网站: https://cr.yp.to/daemontools.html

cd /data/test

cat test.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
        int ix = 0;
        while (1) {
                printf("%d
", ix);
                sleep(1);
                ix += 1;
        }
        return 0;
}

  cat run

#!/bin/bash
./test

  

执行命令 svstat  /data/test,结果如下:

pstree -p:

自动监控并重启服务supervise

----------------------------------------------------------------------------------------------

创建服务所在目录

mkdir test
cd test

more run 
#!/bin/bash
./test

more test.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
        int ix = 0;
        while (1) {
                printf("%d
", ix);
                sleep(1);
                ix += 1;
        }
        return 0;
}

cd ..
nohup supervise test &

  

这样就可以守护test进程了,确保test服务被kill掉后自动重启。

原文地址:https://www.cnblogs.com/oxspirt/p/9395655.html