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


21

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

Quero dizer, arquivos que possuem um fopen, mas nunca obtêm um fclosepor um processo específico.

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


Pergunta relacionada (com respostas relevantes a esta pergunta): stackoverflow.com/questions/15708/lsof-equivalent-for-windows #
Anderson Green

Respostas:


17

Você pode tentar o Sysinternals Process Explorer em vez do Process Monitor. Process Monitor é o design para observar o que os 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 possui handle.exequal é uma ferramenta de linha de comando que informa quais arquivos um processo foi aberto.


29

Confira o Process Explorer da Sysinternals.

Para ver os arquivos abertos para um processo, selecione um processo na lista, selecione a opção de menu Exibir-> Vista inferior do painel-> Alças. Todas as alças do tipo "Arquivo" são os arquivos abertos.

Além disso, uma ótima maneira de descobrir qual aplicativo tem um arquivo aberto é usando a opção de menu Localizar-> 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.


4
+1 para qualquer coisa de Sysinternals ... btw, um link direto: live.sysinternals.com/procexp.exe
fretje

+1 por resolver seu problema com as ferramentas que ele está usando. IMO, esta deve ser a resposta correta. Não há necessidade de usar handle.exe quando você já estiver usando e familiarizado com o Process Explorer.
BoldAsLove

5

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


leia @ resposta pesada, não é inútil. A segunda parte ainda é uma solução válida.
BoldAsLove

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.