我有一个应用程序(不是我编写的应用程序,而是我自己编写的一个应用程序),由于某种原因,该应用程序在一段时间后会崩溃。无论如何,我可以检测到该exe崩溃并重新启动它吗?我搜索了很多东西,发现的只是一个“没有响应”的代码来检测它,这根本不起作用。有任何想法吗?我知道我确实没有任何尝试的示例,但是老实说,我只发现了一件事,但失败了,所以我没有主意。谢谢!
我有个主意 它不是在检测错误,而是在关闭时重新启动exe。(要关闭您的exe,请先关闭脚本窗口)
创建一个.bat文件
@echo off
:run
/path/to/your/exefile.exe
goto run
编辑
参考信息:应用程序崩溃与“未响应”状态不同。此状态表示您的程序被锁定在例如循环中或在较长的过程中等。崩溃,表示进程已被杀死。至少对我来说:)
我针对此特定情况制作此脚本。
@echo off
:run
REM kill your exe if not responding
taskkill /f /im "notepad++.exe" /fi "STATUS eq NOT RESPONDING" >nul
tasklist /nh /fi "imagename eq notepad++.exe" /fi "status eq running" | find /i "notepad++.exe" >nul && (
echo Notepad is running
REM program running nothing to do
) || (
echo Notepad was not found ! Restarting notepad...
REM start for launch .exe without waiting
start "C:\Program Files (x86)\Notepad++" notepad++.exe
)
REM Wait 1 second
timeout /t 01>nul
goto run
为了进行测试,我启动了scrpit。记事本启动。我问到记事本中找到“东西”C:\
与*.*
在文件中的过滤器。
在任务管理器中,单击“应用程序”选项卡中的“任务结束”。将出现一个带有“程序无响应”和“立即完成”选项的Windows弹出窗口。
然后立即(取决于此行timeout /t 01>nul
),脚本重新启动记事本!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句