如题
Runtime.getRuntime().exec 可以用,但是调用 后,java程序不关闭,这样不符合客户的要求。客户的需求是:比方说Data.jar 是一个可执行程序,使用Data.jar打开IE,完了自己就退出
我试着写了这样的代码
Runtime.getRuntime().exec("C:\\Propgram files\\internet Explorer\\iexplore.exe")
System.exit(0);这段代码在Data.jar里面,我运行,发现在调用ie后, 程序并不退出,而是一直等待着ie,等ie退出后,才执行System.exit(0)。有没有办法,让程序不等待ie,把两边独立 开?Runtimeexe   exe程序

解决方案 »

  1.   

    再用Runtime调用dos命令Taskkill杀死进程。。
      

  2.   

    可以直接执行:Runtime.exec("C:\\Propgram files\\internet Explorer\\iexplore.exe")
    getRuntime() 是返回与当前 Java 应用程序相关的运行时对象,所以你写成上面那样会等它返回
      

  3.   

    Runtime的exec是不能满足的你可以用jdk1.6新增的Desktop类的open来做
    具体的可以看他的api你甚至可以用他的browse方法直接打开浏览器定位urlDesktop desktop=Desktop.getDesktop();
    desktop.open(new File("C:\\Propgram files\\internet Explorer\\iexplore.exe"));
    desktop.browse(new URI("http://www.baidu.com"));
      

  4.   

    这应该很好理解吧,因为这个进程(浏览器进程)是由data.jar发起的,浏览器不关闭,这个进程也就不会destroy掉的。
      

  5.   

    建议使用 ProcessBuilder 
      

  6.   

    ProcessBuilder和Runtime是一样的,因为Runtime的内部就是利用ProcessBuilder实现的。楼主的需求就是我说的jdk1.6新增的java.awt.Desktop所提供的。