重新启动崩溃的exe?

坦率

我有一个应用程序(不是我编写的应用程序,而是我自己编写的一个应用程序),由于某种原因,该应用程序在一段时间后会崩溃。无论如何,我可以检测到该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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章