日期:2014-05-17  浏览次数:20810 次

java代码远程启动关闭tomcat
如题,实现java代码远程关闭服务器上面的tomcat
就是实现一些网络上空间上面的做法,可以实现对自己管理的空间的tomcat随意的启动和关闭,但是
可以肯定的是他们不在一个服务器上面,不然那么多的客户的tomcat都在自己的网站的服务器上面应该是不可能的
所以应该是通过一个远程的方式控制的,那具体是怎么控制的呢?
麻烦高手给一个代码,或者一个思路也行
我可以实现本机的tomcat的启动和关闭
就是用net start和net stop命令
并且通过tasklist验证tomcat的启动情况
部分代码如下:

try {
java.lang.Process p = java.lang.Runtime.getRuntime().exec(
"net stop \"Apache Tomcat\"");
java.io.BufferedReader in = new java.io.BufferedReader(
new java.io.InputStreamReader(p.getInputStream()));
String s;
String t = "成功停止";
boolean restart = false;
while ((s = in.readLine()) != null) {
if (s.indexOf(t) != -1) {
restart = true;
break;
}
}
System.out.println("<" + new Date() + "> Tomcat is stop "
+ (restart ? "OK" : "ERROR"));
} catch (Exception e) {
e.printStackTrace();
}


java.lang.Process p = java.lang.Runtime.getRuntime().exec(
"net start \"Apache Tomcat\"");
java.io.BufferedReader in = new java.io.BufferedReader(
new java.io.InputStreamReader(p.getInputStream()));
String s;
String t = "启动成功";
boolean restart = false;
while ((s = in.readLine()) != null) {
if (s.indexOf(t) != -1) {
restart = true;
break;
}
}


------解决方案--------------------
其实最偷懒的方法就是:

Runtime   run   =   Runtime.getRuntime();   
Process   pro   =   run.exec("d:\\tomcat\\bin\\shutdown.bat"); 

------解决方案--------------------
我觉得最简单的方式,使在服务器上装一个"木马"

把你在本地运行的那个代码修改一下,让他监听一个端口,你在写个客户端,连上这个端口,控制它的行为.

当然,这个需求不是很常规,通常做法,我们是远程登陆服务器,进行ixie操作