Java Process Status (Ferramenta e Código)  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
XpLoDeR
Thread.start()
[Avatar]

Membro desde: 24/08/2008 15:08:54
Mensagens: 29
Offline

Olá Galera,

Seguindo um conselho do meu amigo Gabriel Massote, resolvi dar as caras por aqui também e postar conteúdos.
Espero que sirvam de alguma coisa.

Primeiramente, vou falar um pouco do Java Process Status Tool ou simplesmente JPS.

O JPS é uma ferramenta que permite listar todos os processos (nomes das classes que contém o método main) Java atualmente em execução na Java Virtual Machine. A ferramenta é encontrada na pasta bin do JDK 5 e posteriores (Exemplo: C:\Arquivos de programas\jdk1.6.0\bin).

Para utilizar a ferramenta precisamos abrir o prompt de comando do windows ou terminal do linux e navegar até a pasta bin (comando cd). Apartir daí é só digitar o comando jps e verificar os resultados.

Exemplo:

C:\Arquivos de programas\jdk1.6.0\bin> jps
30286 Jps
30271 Main


Opções do comando:

- l : (L) Retorna o PID do processo e o nome completo da classe que está sendo executada.

Exemplo:

C:\Arquivos de programas\jdk1.6.0\bin> jps -l
30456 sun.tools.jps.Jps
30271 org.netbeans.Main


- m : Retorna o PID do processo, o nome e os parâmetros que foram passados para a classe que está em execução.

Exemplo:

C:\Arquivos de programas\jdk1.6.0\bin> jps -m
30529 Main -c
30664 Jps -m

Estas opções também podem ser utilizadas em conjunto (Ex: jps -lm). Mais opções podem ser encontradas na documentação do JPS.

Entendidos os conceitos da JPS, agora veremos como utilizar as classes Monitored.

Primeiramente devemos fazer uma pequena gambiarra importar para o classpath o jar tools.jar (disponível no JDK 1.5 ou posterior, na pasta lib).
Exemplo: C:\Arquivos de programas\Java\jdk1.6.0\lib

Utilizaremos o código abaixo, feito por mim, para entendermos como funciona as classes.
O código está comentado de forma que está fácil de entender.




Neste código está presente somente a função e as bibliotecas necessárias para o seu funcionamento, de modo que é necessário a construção de um main ou qualquer outro método para a invocação deste.

OBS: Como importamos de um pacote não público da Sun, pode ser que apareçam alguns warnings com a mensagem de forbidden package, se você necessita resolver isso, baixe o openJDK e importe o mesmo arquivo tools.jar.

Como é meu primeiro post, qualquer sugestão de modificação será bem vinda!

Qualquer dúvida, crie seu comentário que tentaremos ajudar!

Abraços a todos!

Gustavo.

Gustavo Nogueira de Oliveira

EMAIL/MSN/GTalk: gust.oliveira@gmail.com

BLOG: http://galeradacomp.wordpress.com/

Grupos de Pesquisa: DeepLab e Sidr@
[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team