杀死java.lang.Process而不是杀死子进程()

时间:2017-03-08 22:46:12

标签: java process clearcase

我有一个有很多按钮的GUI。每个按钮都会创建一个ProcessProcessBuilder.start()),用于发送带有预设参数的预定ClearCase命令。

调用ProcessBuilder.start()后,我将进程添加到列表中。当程序关闭时,我遍历此列表并在每个进程上调用destroy()。我正在使用Runtime.getRuntime().addShutdownHook()尝试遍历我的列表。

但是,当我查看Windows任务管理器时,我发现某些conhost.execleartool.exe进程仍处于活动状态。我怀疑Process.destroy()要么不工作要么不传播。有没有办法在用户单击X?

时完全清理程序并终止所有子进程

1 个答案:

答案 0 :(得分:0)

请参阅: Killing a process using Java

但请注意,如果您调用的进程创建新的子进程,则可能不会终止这些进程(请参阅http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4770092)。