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掉后自动重启。