0

我需要帮助来向我的 .bat 添加无响应检查并在服务器应用程序无响应时重新启动它。这就是我到目前为止所拥有的。

@echo on
 tasklist /nh /fi "imagename eq javaw.exe" | find /i "javaw.exe" >nul && (
 echo Server is running.

//
I need a not responding check right afterward here. If the program is not responding,
 taskkill /f /IM server.exe
 taskkill /f /IM javaw.exe
 cd C:\Users\Administrator\Desktop
 serverstart.jar

else
exit
//

 exit
 ) || (
 echo Server process not found.
 taskkill /f /IM server.exe
 taskkill /f /IM javaw.exe
 cd C:\Users\Administrator\Desktop
 serverstart.jar
 )
 pause>nul

我有必要杀死这两个进程,因为当它明显崩溃时它并没有结束。

4

1 回答 1

1

您已经设法按图像名称进行过滤。您还可以按状态过滤(运行/未响应/未知):

tasklist /nh /fi "imagename eq java.exe" /fi "status eq not responding"

会给你任何没有响应的java.exe。

编辑

好吧-当我想到它时:我会尝试:

tasklist /nh /fi "imagename eq javaw.exe" /fi "status eq running` |find  /i "javaw.exe"  >nul && ( 
echo Server is running 
rem nothing to do
) || ( 
echo Server is not running or not responding
rem restart service
)
于 2013-12-17T17:07:21.973 回答