Programa em execução

3 respostas
marcos.junqueira

Olá pessoal,

Preciso verificar se um programa java já está em execução, alguem sabe fazer isso?

Depois preciso fazer com que o programa que já estava sendo executado execute um método específico.

até mais.

3 Respostas

D

tbm estou interessado nisto, ficarei de olho no tópico para ver se alguem ajuda !!!

afdestro

são entendi exatamente o q vc ker…
porém se este programa for uma thread…
vc pode ver se ela esta rodando atravez… com o .isAlive()
ate pq se for o proprio programa q jah esta rodando ter q executar outro metodo vai ter q ser thread…

nao sei se eh isso…
;p

marcos.junqueira

não… é o seguinte
fiz duas vezes o
“java programa”

mas achei uma maneira interessante de fazer o que quero
utilizando o java.util.prefs.Preferences
quando executo o programa a primeira vez coloco uma preferencia nesse objeto, dai se eu executo a segunda vez eu vejo se essa preferencia está setada, mas para isso eu tive q utilizar blocos sincronizados
depois q eu der uma ajeitada no codigo eu posto aqui…
mas se alguem tiver outra maneira de fazer isso eh soh falar…

aqui um pedaço interessante do código

//quando inicia o programa
synchronized (softPhone.prefs) {
//pega a propriedade
            exit = softPhone.prefs.getBoolean("iniciado", false);
//se já teiver 1 programa iniciado sai
            if(exit) {
                System.exit(0);
            }
//se passou do teste é a primeira vez q inicia o programa e 
//entao coloca a preferencia como true;
            exit = true;
            softPhone.prefs.putBoolean("iniciado", exit);
        }
//quando termina o programa q executou primeiro 
//coloca a preferencia como false
        synchronized (softPhone.prefs) {
            softPhone.prefs.putBoolean("iniciado", false);
        }

t+

Criado 7 de dezembro de 2006
Ultima resposta 8 de dez. de 2006
Respostas 3
Participantes 3