Como saber se um processo está rodando?

Java

09/04/2009

Pessoal, Estou trabalhando com Java no linux, e preciso saber se um determinado processo está em execussão. Hoje, tenho scripts *.sh que startam os processos, que normalmente ficam ALGUMA_COISA.JAR na lista de processos do SO. Alguém sabe como posso fazer isso? existe alguma biblioteca que eu possa usar por meio de metodos nativos? abracos!!
Sérgio Ferreira

Sérgio Ferreira

Curtidas 0

Respostas

Aparecido Junior

Aparecido Junior

09/04/2009

Se você "startou" o processo com o usuário corrente (pode ser seu login), utilize
  ps ax | grep java
. Assim você verá todos os processos iniciados por você que tenham a palavra [b]java[/b]. Agora, se quiser ver de todos os usuários:
  ps aux | grep java
Esse lista todos os processos em execução de todos os usuários do linux, inclusive o [b]root[/b]
GOSTEI 0
Sérgio Ferreira

Sérgio Ferreira

09/04/2009

sim... isso eu ja faço hj... só que direto no shell do linux... preciso saber como identificar o processo pelo java...
GOSTEI 0
Aparecido Junior

Aparecido Junior

09/04/2009

import java.io.*;

public class Teste {
  public static void main(String[] args) {
    try {
      Process p = Runtime.getRuntime().exec("ps ax"); //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'
      String s;
      while ((s = resultado.readLine()) != null)
        System.out.println(s);
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}

GOSTEI 0
Sérgio Ferreira

Sérgio Ferreira

09/04/2009

Putz cara... era isso mesmo..... valeuzão!
GOSTEI 0
Sérgio Ferreira

Sérgio Ferreira

09/04/2009

O codigo acima resolveu meu problema "por hora" porque minha a lista de processos que eu preciso é do cliente. E se eu precisasse listar os processos que rodam no servidor? Existe algum tipo de conexão parecida com a ssh :) que possa ser executada no java?
GOSTEI 0
Tobias

Tobias

09/04/2009

Como faz isso no windows ??? Estou precisando fazer a mesma coisa só q no windows !!!! vlwS aew.. xD
GOSTEI 0
POSTAR