目录
做一个定时任务在每晚21:30关闭Java服务。
第一步:写bat脚本
::此文件用于关闭后端jar服务。
@echo off
setlocal enabledelayedexpansion
set ports[0]=9001
set ports[1]=9003
set ports[2]=9011
set ports[3]=9013
set ports[4]=9021
set ports[5]=9023
set ports[6]=9031
set ports[7]=9033
for /l %%n in (0,1,7) do (
@echo find the process which use port[!ports[%%n]!]
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":!ports[%%n]!"') do (
echo kill the process %%m who use the port
taskkill /pid %%m -t -f
)
)pause
解释:
for /l %%n in (0,1,7) 其中/l表示以增量形式从开始到结束的一个数字序列。因此, (0,1,7) 将产生序列 0 1 2 3 4 5 6 7; (5,-1,1)将产生序列5 4 3 2 1;因此,在定义ports时要保证下标连续,且最后一个下标等于in中的参数3。
通过寻找Java服务占用的端口号,来杀死进程以实现关闭服务。以上命名为killJava.bat(后缀名必须为.bat)的文件中列出共8个端口号。如果要测试脚本命令是否正确,直接将脚本文件拖入到cmd窗口就会自动执行文件内容。
第二步:设置定时任务
在windows打开:开始菜单->控制面板->管理工具->任务计划程序
1.新建任务
2.新建触发器
3.新建一个操作
4.保存
点“确定”保存之后可以查看到新建的任务。