2012-02-16 63 views
3

这真的很奇怪,吃掉我的大脑。我正在使用Runtime.exec启动另一个jvm,即使没有启动,它也会悄然退出。Runtime.exec失败,没有任何异常/警告/错误代码

 p = Runtime.getRuntime().exec("java classname", null, new File(workdir)); 

该过程立即退出。我简要地看到taskmanager中的进程,并且它关闭。我甚至试图捕获输出。

 BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String errString = "Error Details:\n"; 
     String line; 

     while((line = br.readLine()) != null) 
      errString = errString.concat(line).concat("\n"); 

在第一次readline调用时该行为null。我知道我可以使用ProcessBuilder,但是我在java 1.4上,而我不能为1.5。请帮忙。

感谢,Bikash

+0

尝试阅读错误流来查看发生了什么。 – MByD 2012-02-16 14:40:27

+0

尝试使用getErrorStream – 2012-02-16 14:46:13

+0

exec()的第一个参数是进程可执行文件,即'java'或'java.exe',而不是要执行'main()'的Java类的名称。 – hmjd 2012-02-16 14:47:24

回答

1

尝试把命令在命令行阵:

Runtime.getRuntime().exec(new String[] {"java", "classname"}, null, new File(workdir)); 
1

我总是指向this site当人们具有的Runtime.exec()的问题

相关问题