您的位置:首页 > 健康 > 美食 > Ubuntu和Windows的看门狗软件开发

Ubuntu和Windows的看门狗软件开发

2024/10/12 8:23:21 来源:https://blog.csdn.net/liuyangwuhan1980/article/details/140881560  浏览:    关键词:Ubuntu和Windows的看门狗软件开发

为了保证软件运行的鲁棒性,常常在软件设计中,启用看门狗软件。对于长时间运行的软件,处于各种不可预知的错误,例如:软件的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,要让开门狗程序随系统启动而启动,

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com