Aplicativos e getRuntime

1 resposta
A

Estou fazendo uma interface para um aplicativo escrito em C++. Escrevi um conjunto de shell scripts que funcionam perfeitamente. Uso o método getRuntime para executar os scripts. A ação abaixo (descrita em código) será executada ao clique do botão que eu chamei de RUN.

try {

Process p = Runtime.getRuntime().exec(step1.sh);

BufferedReader in = new BufferedReader( new InputStreamReader(p.getInputStream()));

String line = null;

while ((line = in.readLine()) != null){

System.out.println(line);

}

} catch (IOException e) {

e.printStackTrace();

}

Minha dúvida é a seguinte:

(1) Eu percebi que este script roda no home mesmo quando eu indico o caminho correto de onde ele deve rodar. Por exemplo: /home/anderson/TESTE/step1.sh, como corrigir isto?

(2) Eu gostaria que o log file que este programa gera fosse exibido em uma janela da minha interface e que fosse atualizando como faz no terminal. Qual método eu uso?

Vamos lá feras, ajudem-me.

Obrigado,

1 Resposta

B

Ola,

  1. ele vai ser executado onde vc chama, tipo, se vc chama-lo do diretorio /home/anderson, é este que vai valer para ele…

  2. quando vc mandar executar, pegue o java.lang.Process, e dele vc tem o output, input e o error stream, para vc ter a iteração com o processo, assim vc tem a saida que seria impresso no prompt.

Criado 10 de abril de 2007
Ultima resposta 10 de abr. de 2007
Respostas 1
Participantes 2