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关闭。

  • 相关阅读:
    UNDO表空间的ORA1122错误解决(二)转
    Oracle 碎片整理
    如何解决Ora00600 4194错误转自eygle
    Oracle维护常用sql语句
    ORA01152: file 1 was not restored from a sufficiently old backup
    oracle的一些信息抽取脚本.sql
    Flash Recovery Area空间不足导致数据库不能打开
    HP—UNIX的信息收集脚本
    详细解读 STATSPACK 报告
    OLTP和OLAP
  • 原文地址:https://www.cnblogs.com/docmao/p/1626431.html
Copyright © 2011-2022 走看看