Como usar o método exec() da classe Runtime em Java?

Iniciado por mhkgalvez, 18 de Julho de 2010, 14:05

tópico anterior - próximo tópico

mhkgalvez

Olá pessoal, preciso fazer um programa em Java que dê comandos de terminal, tal como a função system() do C.

Eu vi num tutorial de Java (p/ Windows) dizendo que bastava fazer

Runtime.getRuntime().exec("programa /c comando");

Assim, para dar um comando de terminal no Windows:

Runtime.getRuntime().exec("cmd /c pause");

Mas isso não funciona no Linux (o /c). Como usar esta funcionalidade no linux?

Outra coisa: mesmo que funcionasse, eu creio que o comportamento da última linha de código acima seria diferente da system("pause") pois ele abriria outro terminal para fazer isso, ao invés de fazer no próprio programa. Alguém tem alguma solução prática de simular a função system() do C no Java?



"A quem vencer, eu o farei coluna no templo do meu Deus, e dele nunca sairá; e escreverei sobre ele o nome do meu Deus, e o nome da cidade do meu Deus, a nova Jerusalém, que desce do céu, do meu Deus, e também o meu novo nome."