当创建进程的运行时终止时,通过 Runtime.exec
创建的 Java Process
是否被终止?还是我必须手动杀死它们,例如通过安装关闭 Hook 并通过 Process.destroy
杀死所有剩余进程。 javadoc 只谈当运行时继续存在时会发生什么。
最佳答案
Java Process
被创建为 JVM 的子进程。我所知道的所有操作系统都会在父进程终止时终止子进程。
但是,如果您创建的进程派生了自己的进程,而不是其子进程(或者是分离的,例如在 Windows GUI 应用程序的情况下),则这些进程可能会在 JVM 终止后继续运行。存在可能与所述问题相关的问题 in this question .
关于java - Runtime.exec 进程的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18212923/