Quais arquivos são abertos por um aplicativo específico?

18

Existe uma maneira de listar todos os arquivos atualmente abertos por um processo específico no Windows?

Quero dizer, os arquivos que possuem um fopen , mas nunca receberam um fclose por um processo específico.

Eu tentei usar o Sysinternals Process Monitor, mas não consegui descobrir como listar os arquivos abertos atuais - mas apenas quando a abertura acontece.

    
por clamp 29.09.2009 / 15:29

4 respostas

14

Você pode experimentar o Process Explorer da Sysinternals, em vez do Process Monitor. O Process Monitor é um design para observar quais processos fazem como fazem então. O Process Explorer é mais para ver o estado atual dos processos; é o Gerenciador de Tarefas, mas com cerca de 10x a funcionalidade.

A Sysinternals também tem handle.exe que é uma ferramenta de linha de comando que informa quais arquivos um processo foi aberto.

    
por 29.09.2009 / 15:32
23

Confira Process Explorer da Sysinternals.

Para ver os arquivos abertos de um processo, selecione um processo na lista, selecione a opção de menu View- > Lower Panel View- > Handles. Todas as alças do tipo "Arquivo" são os arquivos abertos.

Além disso, uma ótima maneira de encontrar qual aplicativo tem um arquivo aberto é usando a opção de menu Localizar ou > Identificador ou DLL. Basta digitar o nome do arquivo que você está procurando e clicar em "Pesquisar" para encontrar os processos com um arquivo aberto correspondente à string de pesquisa.

    
por 29.09.2009 / 15:31
3

O Process Explorer da Sysinternals é realmente muito inútil quando se trata de lidar com identificadores de arquivos (em oposição a DLLs, etc.). Use o Monitor de Recursos do Windows, clique na guia CPU. Ao lado de Associated Handles, digite o nome do arquivo e você verá quem está aberto.

    
por 14.07.2016 / 02:15
-1

Como o Dave disse, use o Process Explorer da SysInternals, além de oferecer vários utilitários. Checkout: link

    
por 30.09.2009 / 14:33