Windows下实现应用程序看门狗软件

有时候,我们需要确保一个应用程序长期稳定地运行,但是在Windows平台上由于种种原因,几乎不可能保障一个应用的绝对可靠运行。那么,我们就需要有一个机制,在应用死机﹑异常﹑系统重启等情况下自我恢复,而且能够做一些指定的动作,比如定时重启等。

方案一:
把应用注册成服务,并把它放到启动项里。
这个方法简单,但功能限制太大。

方案二:
自己做一个服务管理器,定时检查服务运行情况。
这个方法要自己开发代码,太麻烦。

方案三:
找个第三方工具,比如AlwaysUP,Watchdog。

个人推荐AlwaysUP,它具有以下特性:
1)会自动把你的应用注册为服务(包括exe,bat文件等)。
2)监控你的应用运行并在应用失败时自动重启
3)有方便的图形用户界面管理你的服务
4)在应用占用太多CPU或内存资源时重启应用
5)在系统重启时自动启动你的应用
6)可以调度你的应用定期重启
7)提高你的应用的系统运行优先级
8)应用崩溃或重启时的EMail通知
9)自定义一个应用的“活动检测应用程序”
10)自动关闭应用弹出的非法错误窗口
11)自动关闭应用弹出的调试对话框
12)占用很少 CPU 时间
13)默认下无需编程,但也提供二次开发的接口

---------------------
版权声明:本文为CSDN博主「stephenxu111」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stephenxu111/article/details/2507708

原文地址:https://www.cnblogs.com/lidabo/p/11357039.html

时间: 2024-08-06 06:13:47

Windows下实现应用程序看门狗软件的相关文章

windows下python脚本程序的运行

c:\python33\python.exe c:\python33\trycoding.py windows下python脚本程序的运行,布布扣,bubuko.com

gcc和MinGW的异同(在cygwin/gcc做的东西可以无缝的用在linux下,没有任何问题,是在windows下开发linux程序的一个很好的选择)

cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从boost库的划分中可以看出来端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets.所以完全可以和linux一起同步更新gcc版本,而不用担心问题,并且在cygwin/gcc做的东西(不用win32的)可以无缝的用在linux下,没有任何问题.是在windows下开发

使用Code::blocks在windows下写网络程序

使用Code::blocks在windows下写网络程序 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据General Public License,v3 发布 GPLv3 许可证的副本可以在这里获得:http://www.gnu.org/licenses/gpl.html 本文档根据GNU Free Documentation License 1.3发布 GFDL1.3许可证的副本可以在这里获得:ht

在windows下编写R程序包

每个R的使用者总会遇到这样的问题,用R时间长了攒了几个自己写的函数需要经常调用,用source命令调用感觉不够方便,最好怎么办呢?编一个自己的包,只需安装一次就可多次调用,方便自己和他人使用.我把自己制作R包的步骤记了下来,主要参考了统计之都的一篇帖子(http://cos.name/cn/topic/15991)和<Creating R Packages: A Tutorial>中的部分内容,对一些过时的东西做了更正,以供大家参考吧. 在windows下编写R程序包

Windows下,通过程序设置全屏抗锯齿(多重采样)的方法

这里说的全屏抗锯齿,不是基于着色器的FXAA之类的方式,而是兼容性更好的,基于固定管线的多重采样方式. 先来说一下开发环境,我用的是VC2013+GLEW1.11. 要通过程序设置多重采样,首先需要进入控制面板,确定抗锯齿的设置是“根据应用程序而定” ,当然,这个设置的具体名称,不同的显卡厂商有不同的叫法. 接下来,就是重点了. Windows下要通过程序设置多重采样,必须使用wglChoosePixelFormatARB这个函数.目前网上基本都是自己去获取这个函数的接口地址,其实根本不用这么麻

一个复杂的Windows下的socket程序

上节演示了 Linux 下的 socket 程序,这节来看一下 Windows 下的 socket 程序.异样,server.cpp 为效劳器端代码,client 为客户端代码.效劳器端代码 server.cpp: #include <stdio.h> #include <winsock2.h> #pragma comment (lib, "ws2_32.lib") //加载 ws2_32.dll int main(){ //初始化 DLL WSADATA ws

windows下双击可运行的Java软件打包方案(转)

出处: http://www.cnblogs.com/shiyangxt/ 刚开始学Java的时候,挺郁闷的,写出来的java类文件,需要dos下编译,然后再dos下运行看效果.这使初学者常常 觉得麻烦,学习的深入以后,会接触到eclipse.netbean和一些插件IDE产品.极大的方便了java的编写,但是随着自己写的程序 越来越大,渐渐成项目和软件的时候,就需要常常和jar文件打交道.渐渐的想让java文件的执行更痛快点,不想给其他人演示个小 软件还要在IDE里看效果,十分的不帅.现在整理

一个简单的Windows下的socket程序

服务器端代码server.cpp: 1 #include <stdio.h> 2 #include <WinSock2.h> 3 #pragma comment(lib,"ws2_32.lib") //加载ws2_32.dll 4 5 int main() 6 { 7 //初始化DLL 8 /************************************************************************/ 9 /*调用WSASta

windows下编译erlang程序

erlang的编译方式有很多,这篇文章介绍一个在windows下简单好用的方法. 1.首先,在工程目录下面创建一个bat文件,内容为: "C:\Program Files (x86)\erl6.1\bin\erl.exe" -make 前面的目录是你的erlang安装目录: 2.然后,在工程目录下面创建一个Emakefile文件,Emakefile文件格式如下: { [ 'src/*', 'src/mod/*', 'src/pp/*', 'src/lib/*' ], [ debug_i