我需要帮助将未响应的检查添加到我的.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
我必须杀死这两个过程,因为当它明显崩溃时它不会彼此结束。
答案 0 :(得分: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
)