一尘不染

从Java代码启动和停止Tomcat

tomcat

根据我在Stackoverflow和Internet上其他页面上看到的代码,我创建了一种在我在系统中运行进程时停止和启动tomcat的方法,因为我需要清理OS中的内存,System.gc()但是仍然不足以释放内存,这是代码:

全局声明:

private String server = "localhost";

停止启动tomcat的方法:

public void tomcat(){
    try{
        Socket s = new Socket(server,8005);
        if(s.isConnected()){
            PrintWriter print = new PrintWriter(s.getOutputStream(),true);
            print.println("SHUTDOWN"); /*Command to stop tomcat according to the line "<Server port="8005" shutdown="SHUTDOWN">" in catalina_home/conf/server.xml*/
            print.close();
            s.close();
        }
        Runtime.getRuntime().exec(System.getProperty("catalina.home")+"\\bin\\startup.bat");  /*Instruction to run tomcat after it gets stopped*/
    }catch (Exception ex){
        ex.printStackTrace();
    }
}

启动tomcat的代码行运行完美,但是没有停止它的说明,因为当我实例化套接字时,会显示以下消息:Connection refused: connect

我该如何解决?或者,还有另一种方法来停止tomcat?

提前致谢。


阅读 543

收藏
2020-06-16

共1个答案

一尘不染

public static void shut_server(String lien) 
{
      try {

        Process child = Runtime.getRuntime().exec(lien+"/shutdown.sh");
        System.out.println("Serveur est atteins");
    } catch (IOException ex) {
        Logger.getLogger(Installation.class.getName()).log(Level.SEVERE, null, ex);
        System.out.println("erreur de demarrage");
    }
}

lien = 例如 ,您的tomcat bin文件的路径
-/home/zakaria/Téléchargements/apache-tomcat-8.0.21/bin

2020-06-16