这真的很奇怪,吃掉我的大脑。我正在使用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
尝试阅读错误流来查看发生了什么。 – MByD 2012-02-16 14:40:27
尝试使用getErrorStream – 2012-02-16 14:46:13
exec()的第一个参数是进程可执行文件,即'java'或'java.exe',而不是要执行'main()'的Java类的名称。 – hmjd 2012-02-16 14:47:24