2
我推出一个Windows过程从Java代码以下列方式(在C++写的,但我没有源):为什么Process.waitFor()永远不会返回?
Process p1 = Runtime.getRuntime().exec(cmdAndParams);
p1.waitFor();
我的问题是,WAITFOR()方法永远不会结束。因此我试图在一个简单的shell中启动这个进程,并且它在shell中有很多打印(我想是标准输出)。
因此,我决定创建并启动一个读取标准输出的线程,即使我现在不需要这些输出。这解决了这个问题。
所以我的问题是下面的一个:是该解决方案的“Java标准推出,并等待其输出的外部进程”或者它意味着有一个问题的地方在本机进程?如果存在这样的问题,那么C++编程“错误”可能会成为问题的根源?
谢谢。答案是在Javadoc中,但是在类级别上,我只能读取exec和waitFor方法doc。下次我还会读班级文件;-) – 2010-10-19 12:10:02