【问题标题】:Java Process.waitFor() vs Process.exitValue()Java Process.waitFor() 与 Process.exitValue()
【发布时间】:2018-05-24 09:46:51
【问题描述】:

java.lang.Process.waitFor() 和 exitValue() 有区别吗?

【问题讨论】:

  • 如果进程尚未终止,exitValue() 会引发异常。 waitFor() 等待。我只是通过查看documentation

标签: java shell process


【解决方案1】:

exitValue 如果子进程未终止,则抛出 IllegalThreadStateException,如果已终止,则返回退出值。

WaitFor 将阻塞调用线程,直到子进程终止,如果它已经终止,则立即返回。

所以我想说当子进程已经终止时它们的行为相同,但在它仍在运行时会表现不同。 如果子进程正在运行,exitValue 将抛出异常,waitFor 将阻塞调用线程。

【讨论】:

猜你喜欢
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
相关资源
最近更新 更多