在我的代码中,我执行并保存Process的引用:
PROCESS = Runtime.getRuntime().exec("mysqld ... ");
为了终止这个过程,我在JVM出口处做了:
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
PROCESS.destroy();
}
});
只有当JVM正确结束时,“forked”进程才会停止。
但是当我彻底杀死JVM进程时,例如停止IDE(Eclipse)调试器或从Windows任务管理器中删除,“分叉”进程仍然存在。
当JVM意外停止而没有完成时,有没有办法停止从Runtime创建的进程?
谢谢