以下是批处理脚本,主要是重启windows服务器,大概思路是将7004 端口的服务查询出来,将查询出来的结构重镜像到一个文本里,在截取文件中的某一列的执行,linux截取某一列值使用awk 就ok,windows比较麻烦,需要使用for循环语句进行配合截取,截取出来的pid,使用taskkill 杀掉,执行taskkill 前面必须加@符号,否则不执行,尝试好几次才发现,好坑。杀掉存在的weblogic服务,在启动一下weblogic服务。
脚本如下:
@echo off
cmd <nul
echo "重启weblogic node2 server"
netstat -ano|findstr 7004|findstr LIST >D:\weblogic\bin\zabbix_scripts\node2_pid.txt
for /f "tokens=5 delims= " %%i in (D:\weblogic\bin\zabbix_scripts\node2_pid.txt) do @taskkill /pid %%i -t -f
timeout /T 10
start D:\weblogic\bin\node2.bat