Como saber se um processo está rodando?
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
Curtidas 0
Respostas
Aparecido Junior
09/04/2009
Se você "startou" o processo com o usuário corrente (pode ser seu login), utilize
.
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:
Esse lista todos os processos em execução de todos os usuários do linux, inclusive o [b]root[/b]
ps ax | grep java
ps aux | grep java
GOSTEI 0
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
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
09/04/2009
Putz cara... era isso mesmo.....
valeuzão!
GOSTEI 0
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
09/04/2009
Como faz isso no windows ???
Estou precisando fazer a mesma coisa só q no windows !!!!
vlwS aew.. xD
GOSTEI 0