2016-04-18 45 views
0

我有一個processbuilder運行.sh script。它打開一個終端。我想稍後摧毀這個終端。我試過process.destroy(),但它沒有完成這項工作。如何銷燬從java中的進程生成器生成的進程

代碼:

Process p = new ProcessBuilder("/usr/bin/gnome-terminal", "-e", "/home/omar/ros_ws/./baxter2.sh").start(); 
try { 
    Thread.sleep(10000); // wait for one second 
} catch (InterruptedException ex) { 
    Thread.currentThread().interrupt(); 
} 
p.destroy(); 
+0

是否有機會你可以有腳本殺死自己一旦其業務已經完成了嗎?我相信這是正常的工作流程。 –

+0

我需要保持腳本一直運行,除了特定的情況。所以一般的情況是腳本正在運行,並且只在很少的條件下停止。 –

回答

0
try 

{ 

Process[] proc = new Process[2]; 

proc[0] = new ProcessBuilder("calc.exe").start(); 

proc[1] = new ProcessBuilder("notepad.exe").start(); 


try { 
    Thread.sleep(3000); 
} catch (InterruptedException ex) { 
} 

proc[0].destroy(); 
proc[1].destroy(); 

}

catch (IOException ioe) 
{ 
ioe.printStackTrace(); 
}