作者ryannork (晴雨天)
看板java
標題[JSP ] 用timer關閉process
時間Sat Oct 29 22:30:50 2011
我在主程式裡加了以下這一段
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
1F:推 PsMonkey:你要不要詳述 pro 是啥、怎麼建立的? 10/30 00:12
補上兩行CODE,正要補就看到你的留言了@@
※ 編輯: ryannork 來自: 122.125.93.214 (10/30 00:26)
2F:→ tkcn:先不說別的,schedule 完馬上 cancel 會有問題吧 (參閱API) 10/30 12:49
3F:推 PsMonkey:噗... 還是樓上眼尖... 10/30 12:58
4F:→ ryannork:拿掉CANCEL系統就正常了,但是我看處理程序的EXE檔還在跑 10/30 14:50
5F:→ ryannork:感謝tkcn的解答… 10/30 14:53
6F:→ tkcn:process 本身有文字輸出嗎? 10/30 15:25
7F:→ ryannork:有 10/30 23:26
8F:→ tkcn:還是先在 timer 裡頭塞 log,確認 destroy 有沒有被執行吧 10/31 22:43
9F:→ ryannork:如果確認Destroy()沒有確實被執行該怎麼解決呢 11/13 18:49