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??
Se este executável for em java põe um finally para lançar o aviso.
M
monga1984
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
dudaskank
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
ViniGodoy
Você usou o próprio java para abrir o executável?
M
malucocelo
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
monga1984
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
Abdon
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
monga1984
Não existe algo mais simples?
B
bombbr
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
monga1984
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
M
monga1984
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
monga1984
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.