Como saber se um processo tá em execução?

1 resposta
P

Olá,
desenvolvi um serviço que roda periodicamente para executar tarefas de modo exclusivo. Ou seja, somente uma instância do serviço pode rodar num período de tempo. Mas há a possibilidade de serem executadas chamadas de mais instância num mesmo intervalo de tempo.
Como faço em Java para descobrir se um serviço/aplicação está rodando na JVM? Não quero usar soluções como escrever um arquivo, setar variável no registro ou coisa do tipo porque caso haja problema o serviço irá ficar travado. Como é uma tarefa crítica, estou procurando uma solução “mais interna”.
Obrigado. Abraço,

Wagner

1 Resposta

_fs

Já houve alguns tópicos sobre o assunto aqui no guj. Esta foi uma das soluções apresentadas:
Ao iniciar a aplicação, verificar se existe um socket aberto numa porta pre-determinada, se sim, a aplicação já está rodando e não deve ser executada novamente. Se não, deve abrir um socket nesta porta antes de iniciar a tarefa.

Criado 11 de abril de 2006
Ultima resposta 11 de abr. de 2006
Respostas 1
Participantes 2