Java process.waitFor()从不返回
Process process = Runtime.getRuntime().exec("tasklist");BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
process.waitFor();
回答:
有很多原因waitFor()
不回来。
但这通常归结为以下事实:执行的命令不会退出。
同样,这可能有很多原因。
一个普遍的原因是该过程产生了一些输出,而你没有从适当的流中读取。这意味着一旦缓冲区已满,进程就会被阻塞,并等待你的进程继续读取。你的进程依次等待另一个进程完成(之所以不会,是因为它等待你的进程,…)。这是一个典型的僵局情况。
你需要不断从流程输入流中读取内容,以确保它不会被阻塞。
以上是 Java process.waitFor()从不返回 的全部内容, 来源链接: utcz.com/qa/433993.html