gpt4 book ai didi

java - 我可以让 JVM 在退出时杀死已启动的进程吗?

转载 作者:行者123 更新时间:2023-11-30 04:54:09 26 4
gpt4 key购买 nike

我刚刚意识到,当 JVM 退出时,我正在启动的所有进程都不会终止。有没有办法让我在 JVM 退出时关闭 Process ,有点像 File.deleteOnExit()

最佳答案

退出之前,您应该在每个 Process 上调用 .waitFor() 方法。

如果您无法按照自己的意愿控制该进程,可以使用Runtime.addShutdownHook():

final Process process = startNewProcess();
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
process.waitFor();
}
}));

不过,如果可能的话,我真的不推荐后一种解决方案。如果JVM没有机会进行 self 清理,那么进程被强行杀死后仍然会运行。

关于java - 我可以让 JVM 在退出时杀死已启动的进程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9100107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com