MOnitoramento de executável

13 respostas
M

oi gente blz?

Você saberiam me dizer, como eu poderia monitorar basicamente um arquivo executável?

Coisa relativamente simples, precisava que, um executável, quando finalizar seu processo, retorne pra mim um aviso, para que eu tome
as devidas providências. Saberiam me dizer como poderia fazer isso??

Valeu

13 Respostas

V

Você usou o próprio java para abrir o executável?

M

Se este executável for em java põe um finally para lançar o aviso.

M

Não… a única variável que temos é q podemos visualizar o processo no gerenciador de tarefas do windows.

Esse aplicativo vai rodar exclusivamente em windows!

D

Todo executável retorna um inteiro para o sistema operacional. Você pode analisar este número de retorno e fazer alguma coisa com ele… por padrão, o retorno de 0 indica tudo ok, mas você pode fazer o que quiser. No java, chame System.exit(um numero aqui).

Também você pode escrever num arquivo ou num banco de dados o resultado dos processos pra você tomar sua decisão, aí vai da sua preferência mesmo.

V

Você usou o próprio java para abrir o executável?

M

deixe um thread verificando os processos do windows, procurando o nome do executavel que você quer monitorar, quando ele não for mais encontrado você trata em seu thread o que fazer…

M

Nao manjo mto usar thread… porem nao preciso olhar a hora q o executável se iniciou… apenas se ele esta rodando e quando finalizar me mande um aviso… tem jeito??

A

Existe uma suite de monitoramento do windows, que vc pode ver, entre outras coisas, dependencias de dll, apis chamadas pelo executavel, e qual delas deu erro, tem um gerenciador de tarefas de gente grande, que mostra processos, subprocessos entre outras coisas.

Para vc ter uma idéia o cara que fez esse suite de monitoramento foi contratado pela M$ como arquiteto do windows. Ela é totalemente gratis.

O nome desse siute é SysInternals e vc pode baixar direto do site da M$, canivete suiço de quem desenvolve para windows, funciona bem com .net tb.

M

Não existe algo mais simples?

B

monga1984:
Não existe algo mais simples?

Faça sua aplicação executar o comado tasklist do Windows e verificar se a aplicação que está “monitorando” está em execução…

C:\tasklist.exe
M

Não existe nada simples como o Runtime.getRuntime().exec() que inicializa um executável?

Coisa do tipo que se o executável acabou a execução dele ele me avisa…??

Valeu

:slight_smile:

M

Ok, executo um:

Process p= Runtime.getRuntime().exec(“tasklist”);

ele me gera a lista de processos em cmd… mas queiria ler essa lista…como poderia armazenar a informação para depois com um thread verificar sua finalização?

Valeu!

M

Gente, na verdade verdadeira o que eu preciso é saber com o usar um file listener. Minha aplicação quando começa a rodar, abre um arquivo em um diretório específico insere alguns dados e salva e fecha. Se eu coneguir ir monitorando todas as alterações que este arquivo sofrerá durante o restante da execução do meu programa já ta ótimo. Tem como fazer isso de maneira simples? É apenas um arquivo em um diretório específico que sofrerá alterações durante a execução do meu programa.

Valeu!

Criado 28 de janeiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 13
Participantes 6