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

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

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操作