首页 / 知识
关于Windows XP:检测应用程序崩溃并重新启动的最佳方法?
2023-04-16 06:39:00

Best way to detect an application crash and restart it?检测XP中的应用程序崩溃的最佳方法是什么(每次产生相同的"错误"窗口对-每个窗口都有相同的窗口标题)然后重新启动它? 我特别感兴趣的是,由于所涉及的系统很旧,使用最少系统资源的解决方案。 我曾想过使用像AutoIt(http://www.autoitscript.com/autoit3/)这样的脚本语言,也许每隔几分钟触发一次"检测器"脚本? 使用Python,Perl,PowerShell或其他完全更好的方法会更好吗? 任何想法,技巧或想法都值得赞赏。 编辑:它实际上并没有崩溃(即退出/终止-感谢@tialaramex)。 它显示一个对话框,等待用户输入,然后显示另一个对话框,等待其他用户输入,然后实际上退出。 我想检测并处理这些对话框。 最好的方法是使用命名的互斥锁。 说明:当线程完成而没有释放互斥锁时,等待它的任何其他进程可以获取它,但是它将获得WAIT_ABANDONED作为返回值,这意味着互斥锁被放弃,因此受保护的节的状态可能是不安全的。 这样,您的第二个应用程序将不等待任何CPU周期,因为它将继续等待互斥体(并且由操作系统很好地处理)
我认为主要问题是Watson博士显示了一个对话框
您可以使用Windows API编写自己的调试器,
由于我没有找到任何示例代码,因此我编写了此代码
如何创建一个包装器应用程序,将其作为子级启动有问题的应用程序并等待它?如果子代的退出代码指示错误,请重新启动它,否则退出。 这是一个稍微改进的版本。 在我的测试中,当错误的exe产生"访问冲突"时,先前的代码将无限循环运行。 我对解决方案并不完全满意,因为我没有明确的标准来知道应该继续哪个异常,而不能继续哪个异常(ExceptionFlags没有帮助)。 但这适用于我运行的示例。
希望能帮助到你,
我意识到您正在使用Windows XP,但对于在Vista下处于类似情况的人们,有新的崩溃恢复API可用。这是他们可以做什么的很好的介绍。 |
最新内容
相关内容
linux磁盘检测命令?
linux磁盘检测命令?,情况,系统,数据,检测,管理,信息,命令,磁盘,设备,单位,linux查看磁盘空间命令1、查看磁盘空间-du du命令也是检查硬盘使用硬盘检测命令linux?
硬盘检测命令linux?,信息,情况,系统,管理,数据,检测,百分比,命令,工具,设备,linux查看硬件命令有哪些《Linux就该这么学》给同学们介绍一下查linux显示错误命令?
linux显示错误命令?,信息,系统,电脑,状态,时间,环境,命令,搜狐,密码,异常,虚拟机里怎么开始linux系统,打startx命令提示错误1、第一种:这个问题linux退出错误命令的?
linux退出错误命令的?,系统,电脑,环境,命令,位置,管理,工具,设备,终端,进程,Linux命令格式错误出现大于号怎么退出1、ctrl+c,终止当前运行命令linux性能检测命令?
linux性能检测命令?,系统,情况,信息,状态,工具,实时,百分比,指标,分析,命令,查看linux的cpu和内存要查看CPU使用情况,可以使用top命令。Top命令linux没有该命令错误?
linux没有该命令错误?,系统,第一,环境,命令,分析,软件,异常,文件,目录,空格,不知道为什么在linux命令行下输入一些命令怎么都显示没有找到?1、linux命令错误代码?
linux命令错误代码?,系统,密码,电脑,网络,手机,网址,软件,代码,设备,老板,Linux管理常见错误1、检查权限:使用文件浏览器和终端,检查文件的访问linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你linux检测硬件的命令?
linux检测硬件的命令?,信息,系统,检测,工具,第一,数据,设备,分析,实时,百度,如何查看linux系统CPU信息cpu信息记录在/proc/cpuinfo中。linux怎linux命令超时检测?
linux命令超时检测?,时间,网络,检测,系统,地址,状态,电脑,代码,软件,设备,linux定时器超时次数过多之后,再也收不到信号当时钟脉冲到来时,将目linux重新启动命令是?
linux重新启动命令是?,系统,工作,设备,标准,命令,灵活,用户,电源,提示,主机,linux重启命令Linux的五个重启命令为:shutdown、poweroff、init、rlinux下端口检测命令?
linux下端口检测命令?,检测,系统,状态,工具,情况,端口,网络,服务,灵活,信息,linux怎么看端口是否开放可以用nmap工具进行检测端口是否开放。1:n