首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于Runtime.getRuntime().exec(cmd);有关问题,请求大神帮忙解决,昨天一晚下没搞出来

2013-01-23 
关于Runtime.getRuntime().exec(cmd)问题,请求大神帮忙解决,昨天一晚上没搞出来1 需求,利用java程序重启t

关于Runtime.getRuntime().exec(cmd);问题,请求大神帮忙解决,昨天一晚上没搞出来
1 需求,利用java程序重启tomcat
2 看程序
package com.idt.common;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Date;

public class TomcatReset {

public void TomcatShutDown(String Path1){

Runtime runtime = Runtime.getRuntime();

try {
Process process = runtime.exec(Path1);
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String s;
            boolean restart = false;
            while ((s = in.readLine()) != null) {
              
                    restart = true;
                    break;
                
            }
            System.out.println("<" + new Date() + "> Tomcat is stop "
                    + (restart ? "OK" : "ERROR"));
System.out.println("成功停止服务");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void TomcatStart(String Path2){
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec(Path2);
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String s;
            boolean restart = false;
            while ((s = in.readLine()) != null) {
                
                    restart = true;
                    break;
                
            }
            System.out.println("<" + new Date() + "> Tomcat is start "
                    + (restart ? "OK" : "ERROR"));
System.out.println("成功启动服务");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3 path1 是我传的路径="D:\\Tomcat6_dl\\bin\\shutdown.bat"
  path2 是我传的路径="D:\\Tomcat6_dl\\bin\\startup.bat"

4 问题:当我执行完Process process = runtime.exec(Path1);这行代码的时候老是将我的MyEclipse本身自带的tomcat 服务关闭了,而我MyEclipse本身自带的服务是E盘下的,我用debug观察我传过来的路径没有错误确实是D盘下的,那为什么老是关闭我MyEclipse本身自带的服务,上网找了很多帖子都不管用,有的帖子是说Runtime.getRuntime().exec(cmd);执行完之后进行了死锁,所以老执行我之前配置的路径,很是郁闷,希望高手帮我解答下,不胜感激



cmd myeclipse tomcat path
[解决办法]
先关闭它,Process process = runtime.exec("cmd /c start C:\\apache-tomcat-6.0.35\\bin\\stutdown.bat");

再打开,你直接手开两个也一闪而过呢。
[解决办法]
D盘的tomcat开着,Process process = runtime.exec("cmd /c start D:XXX\stutdown.bat");这样关闭不了?你截图明明关闭的是E盘的。

热点排行