Ubuntu和Windows的看门狗软件开发
创始人
2024-11-14 23:04:14

为了保证软件运行的鲁棒性,常常在软件设计中,启用看门狗软件。对于长时间运行的软件,处于各种不可预知的错误,例如:软件的bug、IO异常等等,容易造成软件崩溃。软件崩溃后,就需要看门狗软件将其拉起来。

如果要开发一个看门狗软件,需要看长时间运行的软件是窗体软件,还是无窗体的软件。对于有窗体和无窗体的软件,看门狗软件的实现方式是不同的。

1.Ubuntu上的看门狗软件的开发

Ubuntu上启动应用程序,需要先使用fork启动子进程,然后,在子进程中启动应用程序,开门狗大致代码如下:

/* *  检查被开门狗监视的软件的进程是否不存在了,如果不存在了,则要重新拉起来 */  auto ret = ::fork(); if(ret == -1) {     break; //出错了,程序退出 } else if(ret == 0) //子进程 {     ::execlp(exePath, exeName, params); //启动被开门狗监视的程序                                         //exePath是要拉起的程序的完整路径                                         //exeName是要拉起的程序名称                                         //params是启动程序的命令行参数 } else //父进程 {     //... }
1.1 无窗体

如果开门狗程序要拉起的是无窗体的程序,则需要进行如下设置:

假设开门狗程序位于/home/myWatchdog,要让开门狗程序随系统启动而启动,

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...