linux下的supervise
zuo用:监控子进程运行并在其故障时启动子进程,以保证子进程一直运行
原理:
fork出子进程,然后父进程死循环并通过wait或者waitpid 检查子进程运行情况
关系树:
正常情况下的进程树是supervise--module
例外:
在子进程本身已经形成守护进程(即不在是supervise的子进程而直接是initd的子进程)的时候,关系树就变成了
supervise--supervise
module--xxxx
这种重启其实不耗费什么资源,但是提示rd写程序的时候尽量不要自己去把程序写成守护进程,意义不大