Problemas na execução de comando externo

Será que alguém pode me ajudar. Estou tentando executar um arquivo.exe de dentro da minh aplicação java. Mais quando eu executo o executável (Ver código abaixo) , ele não faz nada até eu fechar minha aplicação, ai ele vai começar a ser executado, senão, enquanto eu tiver com a aplicação aberta ele fica parado, na hora que eu fecho, ai que vai comecar a executar o .EXE.

    Process pBackupGeral = Runtime.getRuntime().exec("c:\gbak.exe");
   String resultado = "";

  if (pBackupGeral != null) {
    BufferedReader in = new BufferedReader(new InputStreamReader(pBackupGeral.getInputStream()));
    String linha = "";

// Fica parado aqui, não executa o while…

    while ( (linha = in.readLine()) != null) {
      resultado += linha + "\r";
    }

Espero que possam me ajudar !

Obrigado.

Cara pelo que eu entendi quando você fechar a aplicação você quer fazer um backup.
Ser for isso, cria um botão ou um jmenuitem pra fecahr a aplicação e no ActionListener coloca o seu código de backup antes de dar um sistem.exit(0);
Agora se você tem o x da janela abilitado pra ferchar, e você clicar no x pra fechar então a aplicação será fechada sem fazer o backup, a solução nesse caso é desabilitar o x e usar só o batão ou o jmenuiter que você criou pra fechar a aplicação. OU você pode descobrir como ter acesso ao evento actionlistener no momento que clicar o botão x (Se descobrir como faz isso me fala! :wink: )

Até mais! :grin: