我正在使用该Runtime.getRunTime()
方法在 Java 中为 Web 服务调用 exe。如果我在不使用的情况下调用它,Process.wait()
那么它可以正常工作,但如果我将它与该wait()
方法一起使用,那么我的进程将挂起,我必须重新启动 Tomcat。
有人能说出为什么会这样吗?
我正在使用该Runtime.getRunTime()
方法在 Java 中为 Web 服务调用 exe。如果我在不使用的情况下调用它,Process.wait()
那么它可以正常工作,但如果我将它与该wait()
方法一起使用,那么我的进程将挂起,我必须重新启动 Tomcat。
有人能说出为什么会这样吗?
这向您展示了为什么程序“waitsFor()”外部进程完成执行。
现在,外部程序有可能正在请求您的程序阻塞的 stdout 和 stderr。这会导致永久等待或所谓的死锁。有关详细信息,请参阅此。