2017-03-08 205 views
1

我有一個擁有許多按鈕的GUI。每個按鈕都會創建一個ProcessProcessBuilder.start()),它發送預定義參數的預定義ClearCase命令。殺死java.lang.Process不會終止子進程()

在致電ProcessBuilder.start()之後,我將該過程添加到列表中。當程序關閉時,我遍歷這個列表,並在每個進程上調用destroy()。我正在使用Runtime.getRuntime().addShutdownHook()來嘗試遍歷我的列表。

但是,當我查看Windows任務管理器時,看到有些conhost.execleartool.exe進程仍處於活動狀態。我懷疑Process.destroy()要麼不工作,要麼不傳播。有沒有辦法徹底清理程序,並殺死所有的子進程,當用戶點擊X?

+0

'destroyForcibly()'? –

+0

你使用動態視圖和cleartool setview嗎? – VonC

+0

我最初嘗試過'destroyForcibly()',但沒有改變。我正在使用快照視圖,只是在'view'目錄中運行該進程。 – RockManX77777

回答