Eu gostaria de rastrear um arquivo e ver qual processo está tocando nele. Isso é possível? Eu sei que posso ver a lista de processos abertos no monitor de atividades, mas acho que está acontecendo muito rapidamente para que eu veja. A razão para isso é que estou usando uma estrutura e acho que a versão do sistema da estrutura está sendo usada em vez da versão de depuração e gostaria de ver qual processo está tocando nele.
93
Respostas:
lsof
irá listar os arquivos abertos, mas pode ser um pouco estranho para toques momentâneos (por exemplo, se o arquivo não for aberto quando o lsof for executado, ele não aparecerá).Acho que sua melhor aposta seria fseventer.app de fernLightning . É um "nagware" e permite que você observe (graficamente) a API fsevents em tempo real.
fonte
lsof | grep myfilename
trabalhou para mim. Tenho um arquivo PDF na minha lixeira que o sistema afirma estar em uso. Estranhamentelsof
afirma que está em uso,Preview
masPreview
não parece estar em execução (por exemplo, quando eu comando-tab através dos aplicativos em execução), masActivity Monitor
mostra que está em execução. Visualização estúpida.É simples:
sudo fs_usage | grep [path_to_file]
fonte
sudo fs_usage | grep musiclibrary
não mostrou nada, massudo lsof | grep musiclibrary
mostrou 3 processos acessando meus arquivos de banco de dados da biblioteca musical.Mas passei 2 minutos pesquisando e encontrei sua resposta aqui .
fonte
A maneira mais rápida é:
Esta solução não requer a senha de root e retorna o seguinte resultado claro:
fonte
Outra opção é a preguiça . É uma GUI gratuita e de código aberto para LSOF que outros mencionaram.
fonte