1、Runtime.getRuntime().exec(cmd.bat)如果cmd.bat可以正常执行,那么java程序很快就执行完了了,但是如果cmd.bat执行过程中有一些错误(在操作系统MS_DOS下,过一段时间也能执行完),此时Process p = Runtime.getRuntime().exec(cmd.bat);就没有响应了,请问如何能解决这个问题?2、又没有其他可以代替Runtime.getRuntime().exec的类?

解决方案 »

  1.   

    针对第一个问题,你可以在一个线程中去调用exec。
    如果要同步的话,你可以wait加上超时等机制来做。
      

  2.   

    再写一个bat,用windows的 start命令调用exe(限于windows)
      

  3.   

    TO:healer_kx(<正统天降甘草>http://healerkx.spaces.live.com/)
    >针对第一个问题,你可以在一个线程中去调用exec。
    >如果要同步的话,你可以wait加上超时等机制来做。
    能具体一点吗?尤其是加上wait超时?
    谢谢
      

  4.   

    Process p = Runtime.getRuntime().exec("cmd.bat",null,dir);//dir为路径
    或者Process p = Runtime.getRuntime().exec(“cmd.bat”);