olá… estou tendo problema em executar um comando através do Runtime.getRuntime().exec(cmd);
o que realmente acontece é q quando executo o comando diretamente no console, ele funciona…
se exporto as classes num .jar e executo, funciona…
mas se chamo a funçao dentro da minha aplicaçao web q esta rodando no tomcat,
o processo fica parado aguardando a execução…
ja tentei executar dentro de thread, e tambem nao deu certo…
a ultima tentativa foi a seguinte…
public class TesteB
{
public TesteB()
{
Process p = null;
String cmd = "\"C:/Arquivos de programas/PostgreSQL/8.1/bin/pg_dump.exe\" -h localhost -p 5432 -U postgres -F c -b -f C:/BackupBanco.backup MEUBANCO" ;
try {
System.out.println("executando...");
p = Runtime.getRuntime().exec(cmd);
p.waitFor();
} catch (Exception e) {
System.out.println("error executing " + cmd);
}
System.out.println(cmd + " returned " + p.exitValue());
}
}
o processo até cria o arquivo de backup, mas nao “escreve” nele… fica parado…
alguem teria alguma explicação ou solução…
Obrigado!