abrindo um shell e interagindo com o seu I / O em java
Eu estou tentando abrir um shell (xterm) e interagir com ele (escrever comandos e ler a saída do shell)
Aqui está uma amostra de código que não funciona:
public static void main(String[] args) throws IOException {
Process pr = new ProcessBuilder("xterm").start();
PrintWriter pw = new PrintWriter(pr.getOutputStream());
pw.println("ls");
pw.flush();
InputStreamReader in = new InputStreamReader(pr.getInputStream());
System.out.println(in.read());
}
Quando executo este programa, uma janela "xterm" é aberta e o comando "ls" não é inserido. Somente quando eu fecho a janela eu recebo um "-1" impresso e nada é lido do shell
IMPORTANTE-
Eu sei que posso usar apenas:
Processo pr = new ProcessBuilder ("ls"). Start ();
Para obter a saída, mas eu preciso do "xterm" aberto para outros usos
Muito obrigado