より具体的には、私が本当にやりたいことは、2 つの新しいターミナルを開くことです。terminal_1 から @host1 に ssh して、host1 に対して program1 を実行します。terminal_2 から @host2 に ssh して、host2 に対して program2 を実行します。program1 の出力を terminal_1 で表示し、program2 の出力を terminal_2 で表示する必要があります。
(私は xterm と ssh @host を開くことができました。2 番目のコマンド "&&java echo_1" を渡そうとしましたが、何もしません)
コードは次のとおりです。
import java.io.*;
public class multi1 implements Runnable {
public void run() {
try {
String ss = null;
Runtime obj = null;
String[] newcmd = new String[]{"/usr/bin/xterm","-hold","-e","ssh andreas@192.168.0.0&&java echo_1"};
Process p = Runtime.getRuntime().exec(newcmd);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while ((ss = stdInput.readLine()) != null) {
System.out.println(ss);
}
}catch (IOException e) {
System.out.println("FROM CATCH" + e.toString());
}
}
public static void main(String[] args) throws Exception {
Thread th = new Thread(new multi1());
th.start();
//Thread th2 = new Thread(new multi1());
//th2.start();
}
}