Bom, eu to desenvolvendo um projeto opensource e to tendo umas dúvidas sobre o funcionamento do Runtime.getRuntime();
primeiro tentei usar ele para executar o comandu mysqldump -u root teste > /home/kayo/teste.sql mas não executa. depois tentei para mysqldump -u root -p teste > /home/kayo/teste.sql e esse me retornava o pedido de senha… mas mesmo assim não tive sucesso então usei para abrir o gedit(notepad no windows) e abriu.
então entendi que o Runtime serve para executar uma ação no sistema e não um comando/escrever na shell, to certo? Se sim, como posso então escrever na shell? Preciso saber porque a funão de backup tera duas variaveis que vão dizer a database para ser copiada e o destino para ser salvo, então não posso usar um .bat como já observei pelo fórum.
grato. [desculpa pergunta denovo sobre runtime, mas é que tenho urgencia…]
Ah para passar a senha, vc pode pegar o outputStream do processo (p.getOutputStream) e gravar nele: ele será a standard in do que foi acionado, então vc pode escrever a senha lá !
ahh entendi, então mysqldump seria uma posicao no array -u outra e assim por diante então? assim podendo executar um comando na shell? acertei ou vuei? =)
A sua senha não é uma variável de ambiente, seria um argumento a ser digitado após o início da execução do aplicativo.
O melhor mesmo é passar tudo na linha de comando. Se não funcionar, vc terá que abrir o outputStream do processo em execução para ‘escrever’ a senha sem ter que abrir uma tela de um editor.
Variáveis de ambiente seriam o caminho (PATH), caminho de bibliotecas necessárias, quando é requerido, ou alguma variável que o shell precise.