Saber se Processo está rodando

3 respostas
T

Eu executo esse linha de codigo… E o processo começa a rodar blz…
-> Runtime.getRuntime().exec(“C:\soffice.exe”);

O problema é que se ele já estiver rodando, eu não posso executar essa linha denovo…
O que eu quero é só saber se ele está rodando ou não…
Tem como fazer isso ? (Eu preciso fazer isso em Java hehe)

3 Respostas

K

Cara, uma dica…
Essa linha:

Runtime.getRuntime().exec("C:\\soffice.exe");

Retorna um objeto do tipo Process. Nesse objeto tem um método chamado waitFor(). Isso bloqueia a execução enquando o processo não terminar. Você pode tentar usar isso numa Thread para que a Thread avise se o programa está rodando ou não…
Pronto, a dica eu dei. Agora é com você…

[]'s.

T

Interessante isso ai…
Eu usei esse .waitFor(), mas ele só me avisa quando o Processo é morto (Eu dou um kill nele pelo java ou pelo windows).
Quando eu tento executar o processo denovo, ele não me avisa, e o processo tambem não é bloquiado !

É assim que funciona ou eu estou fazendo errado ?

T

Isso aki parece resolver meu problema -> http://www.javafree.org/javabb/viewtopic.jbb?t=859148&page=1&h=Processo#123494
Mas é uma solução pro linux… ele usa um comando "ps ax"… Como fazer isso no windows ??

Criado 28 de dezembro de 2007
Ultima resposta 2 de jan. de 2008
Respostas 3
Participantes 2