Estou tentando pegar um processo no linux e estou usando este comando “ps -ef | grep java”, que pega o processo pelo nome.
E gostaria de usar isso em uma classe java, por exemplo, rodo um java test.Test e quero que a classe me mostre que este processo está rodando.
Estou fazendo desta maneira:
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TestProcess {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("ps -ef | grep java"); //aqui fica o comando que vai pegar os processos
BufferedReader resultado = new BufferedReader(new InputStreamReader(p.getInputStream()));
//mostra os resultados obtidos pelo comando 'ps ax'
System.out.println("START");
String s;
while ((s = resultado.readLine()) != null)
System.out.println(s);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Mas quando rodo esta classe não é impresso nada.
Alguém sabe pq está acontecendo isso?