[JSP ] 用timer關閉process

看板java作者 (晴雨天)時間12年前 (2011/10/29 22:30), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/1
我在主程式裡加了以下這一段 String WA_check[] = {"cmd.exe","/c","D:\\EXE_"+RTSNum[1]+".exe"}; Process pro = runtime.exec(WA_check); Timer timer = new Timer(); TimerTask tt = new TimerTask(){ public void run() { pro.destroy(); } }; timer.schedule(tt,10000); timer.cancel(); 為避免runtime到一個死當的程式,所以想在runtime一段時間後, 不管是否死當都給予執行process.destroy();這個動作 我設過0毫秒,一般的程式都能夠關閉,但是遇到會無窮迴圈的程式 網頁就卡在那了,似乎沒能順利關閉… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.125.93.214

10/30 00:12, , 1F
你要不要詳述 pro 是啥、怎麼建立的?
10/30 00:12, 1F
補上兩行CODE,正要補就看到你的留言了@@ ※ 編輯: ryannork 來自: 122.125.93.214 (10/30 00:26)

10/30 12:49, , 2F
先不說別的,schedule 完馬上 cancel 會有問題吧 (參閱API)
10/30 12:49, 2F

10/30 12:58, , 3F
噗... 還是樓上眼尖...
10/30 12:58, 3F

10/30 14:50, , 4F
拿掉CANCEL系統就正常了,但是我看處理程序的EXE檔還在跑
10/30 14:50, 4F

10/30 14:53, , 5F
感謝tkcn的解答…
10/30 14:53, 5F

10/30 15:25, , 6F
process 本身有文字輸出嗎?
10/30 15:25, 6F

10/30 23:26, , 7F
10/30 23:26, 7F

10/31 22:43, , 8F
還是先在 timer 裡頭塞 log,確認 destroy 有沒有被執行吧
10/31 22:43, 8F

11/13 18:49, , 9F
如果確認Destroy()沒有確實被執行該怎麼解決呢
11/13 18:49, 9F
文章代碼(AID): #1Eh0uSSq (java)