首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

总控节点防偏瘫

2013-03-14 
总控节点防瘫痪初学linux开发,总结下。若有错误,敬请指正,谢谢。1.主备模式配置两个服务进程,一个主,另一个

总控节点防瘫痪

初学linux开发,总结下。若有错误,敬请指正,谢谢。

1.主备模式

配置两个服务进程,一个主,另一个备,主和备都打开服务。客户端把主和备的地址都配上,如果发现往主服务进程发送请求,connect不到,推测主服务进程可能瘫痪,就往备用服务进程发送请求。对于这种方式,笔者尚未实践过。只停留在理论阶段。

缺点需要手动修复主服务进程。

2. fork + waitpid

while (1) {        pid_t pid;        if((pid = fork()) < 0) {            perror("fork:");        } else if (pid == 0) {            printf("reboot SysCtrlNode\n");            execl("./SysCtrlNode", "./SysCtrlNode", "NULL");            perror("execlv:");            exit(1);        } else if (pid > 0) {            waitpid(pid, NULL, 0);        }    }
笔者自己写了个小项目就使用到了此种方式。监控进程作为父进程,一旦wait到子进程结束,立即fork出子进程,execl服务进程。



热点排行