2016-04-18 1 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(); 
} 
Смежные вопросы