通过托管在同一Tomcat中的servlet重新启动Tomcat服务
我想在WindowsXP上重新启动tomcat服务,我创建了一个调用批处理文件的servlet通过托管在同一Tomcat中的servlet重新启动Tomcat服务,tomcat,windows-services,servlets,Tomcat,Windows Services,Servlets,我想在WindowsXP上重新启动tomcat服务,我创建了一个调用批处理文件的servlet public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Process p = Runtime.getRuntime().exec("c:\restart_tomcat.bat"); } 在我的restart_tomcat
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
Process p = Runtime.getRuntime().exec("c:\restart_tomcat.bat");
}
在我的restart_tomcat.bat中添加了以下两行
请求servlet URL会停止tomcat服务器,但它不会启动。但是,当我运行批处理文件restart_tomcat.bat时,工作正常
Runtime.getRuntime().exec("cmd.exe /c start c:\restart_tomcat.bat");
当VM退出时,JVM启动的进程(例如restart_tomcat.bat)也可能被终止,因此net start永远不会执行。不幸的是,Tomcat使用的是不支持JVM重启的。或者我不知道怎么做 快速破解:将服务恢复模式设置为自动重启 从长远来看,还有很多其他支持自重启的系统
Runtime.getRuntime().exec("cmd.exe /c start c:\restart_tomcat.bat");