定时任务执行shutdown.bat再执行startup.bat会出现窗口无法关闭的情况,因此关闭tomcat采用杀掉进程的方式去执行。
@echo off & setlocal EnableDelayedExpansion
title 重启tomcat
for %%a in (8401) do (
set pid=0
for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
set temp=%%b
for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
if %%j==%%a (
taskkill /f /pid %%c
set pid=%%c
echo 端口号【%%a】相关进程已杀死
) else (
echo 不是本机占用端口【%%a】
)
)
)
if !pid!==0 (
echo 端口号【%%a】没有占用
)
)
echo tomcat相关进程已杀死
TIMEOUT /T 10d:
cd D:\developSoft\Tomcat-8.5.28\bin
call startup.bat
echo tomcat已启动
echo 操作完成exit