Bom dia povo lindo. Estou com um problema e gostaria da ajuda de vcs. Estou criando uma aplicação em Java que “capta” informações de outra máquia via UDP(duas máquinas linux). Já consegui algumas informações do sistema operacional com o comando: System.getProperty(). Mas agora eu queria mais informações que seriam possíveis com os comandos no Shell ex: free -m -t. Por isso gostaria de saber como faço para “pegar” o resultado que um comando Shell e colocá-lo em uma variável Java.
Abraçoo
Variável Java com o conteúdo que foi gerado por um comando Shell
G
1 Resposta
Não sei se é exatamente isso que você está precisando, mas se você estiver usando ProcessBuilder para executar os comandos shell, você pode pegar o resultado pelo InputStream do objeto “Process”:
ProcessBuilder construtorDeProcesso = new ProcessBuilder();
Process meuProcesso = construtorDeProcesso.command("free", "-m", "-t").start();
String resultado = new BufferedReader(new InputStreamReader(meuProcesso.getInputStream()))
.lines()
.collect(Collectors.joining("\n"));
System.out.println(resultado);
Exemplo de saída:

Criado 18 de março de 2019
Ultima resposta 18 de mar. de 2019
Respostas 1
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo