Java Runtime 类中的 process.waitFor() 方法可能会因多种原因而无法返回。
永无止境进程
通常,waitFor() 会因为执行的命令未终止而停止,这通常是由生成未读取的输出的进程引起的。这会导致死锁,两个进程都等待对方完成。
避免死锁
要解决此死锁,从进程的输入流中持续读取至关重要。这可以防止进程因缓冲区已满而阻塞,并允许其继续执行并最终终止。
其他资源
全面了解 Runtime.exec( )陷阱和解决方法,请参考文章《当 Runtime.exec() 不会时》:
[当 Runtime.exec()不会](https://www.ibm.com/developerworks/java/library/j-whenexec/)
以上是为什么我的 Java `process.waitFor()` 方法停止运行?的详细内容。更多信息请关注PHP中文网其他相关文章!