可靠地杀死Java中的进程

时间:2015-02-16 16:11:28

标签: java

有点背景

我为Java维护mutation testing system。主进程启动子进程,其中包含自动修改的程序版本。

这可能导致子进程中的代码陷入无限循环,内存不足或以多种方式崩溃。

当系统检测到这种情况发生时,主进程使用process.destroy杀死子进程并恢复分析。

早期的版本使用System.exit从内部关闭子进程,但我更改为使用process.destroy从主进程中删除子进程,因为这更加健壮。

我现在有一个错误报告,当代码使用spring的DefaultMessageListenerContainer时,子进程在某些(当前未复制的)情况下无法完全关闭。

我认为这个问题在某种程度上与阻止io有关,并且进程会进入需要kill -9的状态。

实际问题

所以问题是 - 是否有更可靠的平台独立方式来杀死java中的进程而不是process.destroy?

0 个答案:

没有答案
相关问题