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\n", 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\n", ix);
sleep(1);
ix += 1;
}
return 0;
}
cd ..
nohup supervise test &
这样就可以守护test进程了,确保test服务被kill掉后自动重启。