2016-04-18 7 views
0

erzeugt wird Ich habe ein processbuilder, das ein .sh script läuft. Es öffnet ein Terminal. Ich möchte dieses Terminal später zerstören. Ich habe versucht process.destroy(), aber es hat den Job nicht gemacht.Wie man einen Prozess zerstört, der von einem Prozessbaumeister in Java

Code:

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

Gibt es eine Chance, dass Sie das Skript selbst töten könnten, sobald das Geschäft abgeschlossen ist? Dies ist der normale Workflow, den ich glaube. –

+0

Ich muss dieses Skript die ganze Zeit außer bestimmten Fällen laufen lassen. Der allgemeine Fall ist, dass das Skript ausgeführt wird und nur in wenigen Bedingungen beendet wird. –

Antwort

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(); 
}