Batch file 需要帮助向批处理文件添加无响应检查吗

Batch file 需要帮助向批处理文件添加无响应检查吗,batch-file,application-restart,Batch File,Application Restart,我需要帮助将无响应检查添加到我的.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 r

我需要帮助将无响应检查添加到我的.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

我有必要杀死这两个进程,因为当它显然崩溃时,它不会彼此结束。

您已经通过imagename进行了筛选。 您还可以按状态(正在运行/未响应/未知)进行筛选:

将为您提供任何不响应的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
)

tasklist/?
-请特别注意
/FI
,尽管如此,我完全不擅长批处理编程。T.TI可以在我当前的任务列表中替换它,而无需任何修改?
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
)