java - 防止子 JVM 在其父 JVM 退出时退出

标签 java linux process jvm

我有一个父 JVM(我称之为 JVM_parent),我在其中使用 Runtime.getRuntime().exec("java ...... .")(我称之为JVM_child)

现在,当我关闭(正常或强制)JVM_parent 时,JVM_child 也会退出。

如何防止 JVM_childJVM_parent 关闭时关闭?我在 Linux 上运行。

最佳答案

子进程将从父进程继承,因此终止信号也会终止子进程。为防止这种情况,您需要将 child 与 parent 分离,这样它就不会收到这些信号并继续。

使用它的最简单方法是运行类似 bash nohup prog & 的东西,它在单独的子进程中运行它并且不监听 HUP 信号。请注意,运行 bash -c 是不够的。您可以使用 pstree 之类的东西来判断 bash 进程是否已完成。

关于java - 防止子 JVM 在其父 JVM 退出时退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36498713/

相关文章:

Java如何读取和删除文件内容。

linux - 在 Linux 中,如果两者具有相同的名称,如何取消链接与实际文件的软链接(soft link)

java - .Net 在 Linux 上运行

即使 javac 在 MacOS X 上退出后,java 进程也不会关闭

安卓 M : How to get all processes UID's?

java - Listview需要显示数据库中的数据

java - 是否有适用于 Android Java 或类似语言的现有虹膜/眼睛识别库?

java - Spring-jpa-数据 : more than one DataSource and one single Spring config

php - 在运行服务时写入带有日期的日志文件

java - 在带有 2 个可执行文件的 Runtime.getRuntime().exec 中有空格