Alguém pode me dizer como se pode monitorar um processo. Eu tenho uma aplicação que abre qualquer aplicativo que o sistema operacional conseguir, tanto no Windows quanto no Linux. Mas eu gostaria de saber quando o processo é encerrado, ou seja, quando o arquivo é fechado. Se alguém tiver alguma luz, por favor me falem.
Hoje em dia estou utilizando o seguinte código:
Process teste = executor.exec("comando para abrir arquivo");
teste.waitfor()
mas ele não obtém sucesso pois o comando para abrir o arquivo possui um start, que abre um subprocesso. Eu acho que é por causa disso que a aplicação não espera o arquivo ser fechado, ou seja o processo ser encerrado.
Se alguém puder me ajudar!!!
deixa eu ver se eu entendi… tu quer por ex abrir o notepad pelo teu código, e só continuar a executar o código quando fecharem o notepad? ihhh… não sei se tem jeito não… o notepad teria q te informar de algum jeito q ele fechou… e ai ja nao é mais java… e ai ja é ambiente fechadao do win… em C, a funcao main() pode retornar um int pro OS avisando q retornou (com sucesso ou não), mas passar isso pro java… e de uma aplicação q nao foi tu q codou, ai ja nao sei…
É isso mesmo, mas o problema é que até agora somente consegui abrir o arquivo com o “start”, que cria um subprocesso, e se torna independente do java, eu estava pensando em abrir um arquivo e que o processo continuasse dependente do java, tipo o waitfor, ou poderia ser outro comando que ficasse perguntando se aquele subprocesso (por exemplo o notpad) ainda está vivo ou não.