java - Runtime.exec 进程的生命周期

标签 java process

当创建进程的运行时终止时,通过 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/

相关文章:

java - Android 上的 HTTPS 身份验证

java - 我正在尝试在 android 日志中打印或写入 protected file/data/data/com.package/file

c - fork 后退出子进程

java - ProcessBuilder 进程未运行

c - 如何在C中获得进程限制

c# - 如何在 .NET 中生成进程并捕获其 STDOUT?

java - 如何在 Play-With-Docker-Lab 中指定 java 的文件夹路径?

java - 在托管 bean 之间传递参数

java - ResultSetExtractor 类型不是通用的;它不能使用参数 <List<Employee>> 进行参数化

.net - 为什么StartInfo(ProcessStartInfo)总是空的?