2016-04-18 9 views
0

.sh scriptを実行するprocessbuilderがあります。端末を開きます。私は後でこのターミナルを破壊したい。私は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(); 
} 
関連する問題