在Java中可靠地终止进程
一点背景知识 我为Java维护了一个数据库。主进程启动包含程序自动修改版本的子进程 这可能导致子进程中的代码陷入无限循环、内存不足或以多种方式崩溃 当系统检测到发生这种情况时,主进程使用process.destroy杀死子进程并恢复分析 早期版本使用System.exit从内部关闭子进程,但我改为使用process.destroy从主进程杀死子进程,因为这样更健壮 我现在收到一个bug报告,当代码使用spring的DefaultMessageListenerContainer时,在某些情况下(尚未复制),子进程无法完全关闭 我假设这个问题在某种程度上与阻塞io有关,并且进程进入需要kill-9的状态 实际问题在Java中可靠地终止进程,java,Java,一点背景知识 我为Java维护了一个数据库。主进程启动包含程序自动修改版本的子进程 这可能导致子进程中的代码陷入无限循环、内存不足或以多种方式崩溃 当系统检测到发生这种情况时,主进程使用process.destroy杀死子进程并恢复分析 早期版本使用System.exit从内部关闭子进程,但我改为使用process.destroy从主进程杀死子进程,因为这样更健壮 我现在收到一个bug报告,当代码使用spring的DefaultMessageListenerContainer时,在某些情况下(尚
所以问题是,在java中,有没有比process.destroy更可靠的、与平台无关的方法来杀死一个进程?您总是可以使用JNAA这个非常类似的问题,并给出可能有用的好答案。