我的Java程序使用ProcessBuilder(redirectErrorStream设置为true)并且有一个循环来运行进程的inputstream的read方法,该方法是阻塞的.我正在调用的外部程序停止等待输入和stdin.我现在想杀死这个过程.这是不是由(在一个单独的线程中)调用进程的destroy方法,并调用inputstream的close方法来阻止read方法阻塞,以便我的初始线程可以结束它的生命?
由于某种原因process.getInputStream().close()
块.从JavaDoc我不明白为什么会发生这种情况.此外,我不明白为什么javadoc说"InputStream的close方法什么都不做".(链接到javadoc)有人可以解释一下吗?
谢谢 :-)