內部Java程序我運行以下?如何來getRuntime.exec()出來時,執行過程需要很長的時間來執行?
Process p = Runtime.getRuntime().exec("java -cp - src\ MyCode");
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream));
程序MyCode是一個java程序。
現在,MyCode可以進入如infinite loop
或long execution cycle
的情況。目前,在這種情況下,過程p正在MyCode上「永遠」等待。我需要的是,每當mycode的執行超過一定的時間,我想進程p結束或者被摧毀,讓我可以在主程序的下一行繼續。
任何幫助表示讚賞!
您是否嘗試http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#destroy()? – DmitryKanunnikoff
我熟悉過程的方法。但是,我不知道如何編寫調用destroy()方法的超時邏輯。 – kajarigd
看看我對這個問題的回答。 – DmitryKanunnikoff