• Windows下监控端口号


    例如tomcat 端口号 如果tomcat 死掉 并重启

    @echo off
    
    rem 读取tomcat死之前 的配置文件 depotupdate赋予默认值 !null  升级失败造成的tomcat 死亡(java -jar 升级程序)  如果没有此值或者此文件 不知为何tomcat 会死 5分钟检测一次
      
    set depotupdate=null
    set tomcatPort=80
    set URL="http://localhost:%tomcatPort%/depot/TestServlet"
    set httpcode=0
    
    rem 判断 tomcat 死活 
    
    for /l %%i in (1,1,10) do (  
        echo %%i
        rem 借助工具获得项目的状态头(curl工具的安装会在下面提及)
        for /f "delims=" %%r in ('curl -sL -w "%%{http_code}" %URL% -o /dev/null') do (
        rem 将变量r的值赋值给httpcode
            set httpcode=%%r
        )
    )
    
    
    rem 判断 tomcat 是如何死的 如果是升级造成死亡 执行升级程序 否则直接启动
    
    for /f "tokens=1,2 delims==" %%i in (%ETC_HOME%ETC_Managentapache-tomcatconfupdate.properties) do (
    if "%%i"=="depotupdate" set depotupdate=%%j
    if "%%i"=="tomcatPort" set tomcatPort=%%j
    )
    
    
    
    echo 是否通断 %httpcode%
    echo 端口号 %tomcatPort%
    
    rem 判断 httpcode  是否 ==200   200 说明通tomcat 还活着 ,  不是200 说明不通  不同说明 tomcat 死了 启动
    
    if not %httpcode%==200 (
    
           netstat -ano|findstr 0.0.0.0:%host%>pid.txt
    
            rem 查找进程记录,提取第5列的值,并终止进程,for 默认根据空格,制表符,;等进行字符串分割
              for /f "tokens=5" %%i in (%cd%pid.txt) do (
                    echo 虽然tomcat 死了但是进程依旧存在 杀死
    	echo try to kill pid %%i
    	taskkill /pid %%i /F
                   rem 删除pid.txt文件
                   del /a/f/q "%~dp0pid.txt
           )
    
    echo depotupdate:%depotupdate%
    
    rem 判断  update 状态   depotupdate 状态
    if "null" == "%depotupdate%" (
    echo depotupdate:%depotupdate%   不是升级造成的 重启Tomcat
    ::setx /M CATALINA_HOME "%ETC_HOME%ETC_Managentapache-tomcat"
    %ETC_HOME%ETC_Managentapache-tomcatinstartup.bat
    
    )
    if not "null" == "%depotupdate%" (
    echo depotupdate:%depotupdate%   是升级造成tomcat 挂掉 执行升级、
    java -jar %ETC_HOME%ETC_Managentscriptupdate.jar %depotupdate%
    del /a/f/q %ETC_HOME%ETC_Managentapache-tomcatconfupdate.properties
    )
    )
    
    
    
    
    
    
    pause
    

      

    只限阅读,未经允许不得转载,如有问题请@本人,如我方内容侵权请及时告知我方。
  • 相关阅读:
    Unity3D学习笔记(十九):UGUI、Image、Text、Button
    Unity3D学习笔记(十八):动画内容补充
    Unity3D学习笔记(十七):IK动画、粒子系统和塔防
    Unity3D学习笔记(十六):Animator新动画
    Unity3D学习笔记(十五):寻路系统
    Unity3D学习笔记(十四):Animation旧动画
    Unity3D学习笔记(十三):委托、考试复习
    Unity3D学习笔记(十二):2D模式和异步资源加载
    加密解密
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/wzy-525/p/13374687.html
Copyright © 2020-2023  润新知