服务器自动重启,服务器宕机重启,自动重启weblogic,批处理自动重启服务器

服务器自动重启,服务器宕机重启,自动重启weblogic,批处理自动重启服务器
2010年07月21日
  [b] 服务器自动重启,服务器宕机重启,自动重启weblogic,批处理自动重启服务器 [/b][b]收藏 [/b]
  直接帖原码 @echo off :label rem 下面判断服务器是否宕机 rem ************************************************** **************** rem 这里是检测的端口号,* rem * netstat -an|find "80"|find "LISTENING" rem * rem * rem ************************************************** **************** rem 如果errorlevel为1,服务器宕机关闭服务再启动 if errorlevel 1 goto stop rem 如果errorlevel为0,服务器正常进入延时程序。 if errorlevel 0 goto dely :dely rem VB延迟脚本5分钟 echo 延时程序 echo wscript.sleep 1000*60*5>sleep.vbs start /wait sleep.vbs goto label :stop rem 调用停止服务代码 rem CALL stopweblogic.cmd rem ************************************************** **************** rem 查找进程号根据窗口标题,并把相关信息输入至pid.txt文件中 * rem 这里需要根据不同的窗口标题进行更改 * tasklist /nh /fo csv /fi "imagename eq cmd.exe" /fi "windowtitle eq C:\WINDOWS\system32\cmd.exe - .\startManagedWebLogic ProxyServer http://168.9.120.61:7001" >tpid.txt rem * rem * rem ************************************************** **************** rem 从文件中查找PID值 rem for /f "skip=1 tokens=2 delims=," %%i in (tpid.txt) do ( for /f "tokens=2 delims=," %%i in (tpid.txt) do ( echo %%~i set pid=%%~i) rem echo pid : rem echo %pid% rem 杀掉进程Pid=%pid% if defined pid (taskkill /f /t /pid %pid%) else (echo 服务窗口已经关闭) rem 调用启动服务代码 rem ************************************************** **************** rem 这里为启动代理的批处理 * rem * call startProxyServer.cmd rem * rem * rem ************************************************** **************** rem 跳转至dely标签循环 goto dely rem 删除VB脚本 del /f /s /q sleep.vbs tasklist /nh /fo csv /fi "imagename eq cmd.exe" /fi "windowtitle eq C:\WINDOWS\system32\cmd.exe - .\startManagedWebLogic ProxyServer http://168.9.120.61:7001" >tpid.txt解释一下这句。
  这是一个找进程号的批处理,如果宕机了,我们先把服务关掉再重启,这里有一个问题,windowtitle 后面的
  是窗口标题,因为进程名都是cmd.exe.会有多个cmd.exe不好判断,只好判断cmd.exe的标题了,
  
  看上面是两个cmd.exe;weblogic的标题名跟下面一个不一样,我们只要把这个标题加入上面的代码,就能找到我们要杀掉的服务了。
  上面的结果是先把他输出到tpid.txt文件中,看看输出的格式吧
  "cmd.exe","2604","RDP-Tcp#1","0","3,220 K"
  前面第一个是进程名,weblogic启动是一个cmd.exe,第二个就是进程号,我们把他弄出来就可以用taskkill 来杀了,
  for /f "tokens=2 delims=," %%i in (tpid.txt) do (
  echo %%~i
  set pid=%%~i)这一句就是读取刚才的文件,把进程号取出来给变量pid;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值