zoukankan      html  css  js  c++  java
  • 怎样让Tomcat启动一定成功(局限)

      众所周知,Tomcat在启动的时候如果端口被占用,那么启动就一定不成功的。以下内容具有局限性,仅在端口是Tomcat本身占用端口的情况下有效。如何更加使这种做法更具有广泛性,正在思考中。

      第一种方法:强制结束进程。由于Tomcat启动的进程是“java.exe”,因此在winxp/win2003下,我们可以通过ntsd命令强制结束该进程。

    ntsd -c q -pn java.exe

      通过在Tomcat/bin的startup.bat的开始添加此段代码,强制结束java.exe进程。但是这样的做法具有很大的局限性和风险性。第一,强制结束进程可能带来的后果是导致系统的不稳定,而作为一个服务端,稳定性是非常重要的;第二,如果该服务器上具有其他的程序调用了“java.exe”,那么其他程序也同时就跑不了了。这种做法是极其不值得推荐的。

      第二种方法:调用Tomcat自带的“shutdown.bat”来结束Tomcat进程。

    tasklist|find /"java.exe" || goto okStart
    CALL %CATALINA_HOME%\bin\shutdown.bat
    :okStart
    set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat

      我的做法是在Tomcat设置EXECUTABLE之前先判断当前进程中是否存在“java.exe”。tasklist命令查询出当前进程列表,find命令找出进程列表中是否存在“java.exe”。如果存在,则调用shutdown.bat,否则的话,就跟原来的startup.bat的执行没什么两样。这样做虽然要比上面的第一种方法要来的好,但是还是有改良的余地。

      而Tomcat结束掉进程是需要时间的,一般来说几秒就够了,因此要给一个几秒的延迟。我这里采用的是用ping命令来实现延迟。

    ping -n 5 127.0.0.0.1>nul

    这样就有4秒的时间来等待Tomcat关闭。

  • 相关阅读:
    基础总结篇之三:Activity的task相关
    基础总结篇之一:Activity生命周期
    基础总结篇之二:Activity的四种launchMode
    SAP_清除默认Action
    FICO_Delete error message
    FICO_无法生成凭证(System status CLSD is active (WBS K/A6020372-205-KCCL))
    FICO_导出8月KOB3报表
    FICO_更改BP
    FICO_月末关帐
    SAP_清除默认导出格式
  • 原文地址:https://www.cnblogs.com/docmao/p/1626431.html
Copyright © 2011-2022 走看看