Equivalente ao SysInternals FileMon para Linux?


Respostas:


7

Você está procurando traços. Dê uma olhada aqui: https://wiki.ubuntu.com/Strace


2
Pelo que entendi, a execução de filemon permite ao usuário ver todos os acessos a arquivos. Por outro lado, exige que você especifique qual aplicativo abrir primeiro. Isso requer que você conheça com antecedência o aplicativo que está acessando esses arquivos. E se você não souber qual aplicativo está acessando os arquivos nos quais está interessado?
Chuacw 19/10/12

8

Depende do que você quer:

  • No geral, você deseja examinar o inotify para ver todos os acessos a arquivos que qualquer processo faz.

  • No pequeno, o strace permitirá observar os syscalls de um processo específico. Strace é incrível. Você pode rastrear as chamadas de um processo para 'abrir' strace -f -eopen $cmd, por exemplo. A página do manual tem detalhes completos sobre sintaxe, é claro.


Obrigado pjz. Para ser muito específico - estou tendo alguns problemas para começar a usar o Ogre3d no Ubuntu. Meu aplicativo de teste parece estar procurando alguns arquivos .cfg durante a inicialização. Quero ouvir todas as tentativas de abrir arquivos para garantir que os arquivos corretos estejam disponíveis e tenham as permissões corretas.
Chickeninabiscuit

strace -e open ./app
Justin

2

stracena frente de um aplicativo inicial, é bom observar o que o aplicativo está fazendo.
lsofé bom ver quais arquivos um aplicativo já está executando.

BTW:
lsof -ni:22 mostra qual processo está usando a porta 22.



1

Aqui está um exemplo do uso do strace para rastrear alterações no arquivo:

strace -f -e trace=file -p7546 -o /tmp/outputfile

-fgarante que os eventos dos processos filhos sejam capturados.
-e trace=filediz que devemos capturar syscalls relacionadas a arquivos (por exemplo stat, open, futexetc.)
-pé o ID do processo (recuperados de ps -auxou outros meios) -oespecificou o outputfile (pode haver um monte de dados e você poderia passar a usar grep como um filtro.




0

Isso é antigo, mas acho que é uma boa ideia atualizá-lo para a realidade de hoje.

Para depurar apenas um processo e seus filhos, o strace ainda é o melhor caminho. Ele pode mostrar facilmente todo o acesso a arquivos, mesmo em arquivos ausentes.

Para depuração genérica do sistema, o recurso de auditoria no kernel pode fazer isso e é o caminho recomendado. Ele não precisa de nenhum patch nos kernels recentes, apenas a auditoria instalada

Aqui está um guia simples para usá-lo:

audit-gui

Isso replica o arquivo de janelas do Windows, monitorando o acesso ao arquivo para todos os locais, processos, etc.

verifique também este post


0

Isto é o que funcionou bem para mim (Linux Mint 19.1):

sudo lsof 2>&1 | grep programnamehere

Não sei por que 2>&1era necessário, mas não filtrava, a menos que eu o usasse.

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.