我想在Windows XP上重启tomcat服务,我创建了一个调用批处理文件的servlet
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
Process p = Runtime.getRuntime().exec("c:\restart_tomcat.bat");
}
在我的 restart_tomcat.bat
中添加了两行 net stop "Tomcat6"
net start "Tomcat6"
请求servlet URL停止tomcat服务器但是它没有启动。但是当我运行批处理文件restart_tomcat.bat时,工作正常
答案 0 :(得分:0)
试试这个
Runtime.getRuntime().exec("cmd.exe /c start c:\restart_tomcat.bat");
答案 1 :(得分:0)
当VM退出时,JVM启动的进程(例如,restart_tomcat.bat)可能也会被杀死,因此net start
永远不会执行。 Tomcat使用Commons Daemon,遗憾的是,它不支持JVM重启。 (或者我不知道怎么做。)
快速入侵:将服务恢复模式设置为自动重启。
从长远来看,还有很多其他JVM as a Service options支持自我重启。