Equivalente ao SysInternals FileMon for Linux?

10

Estou tentando depurar um aplicativo no Ubuntu - preciso ouvir tentativas de abrir arquivos (mesmo para arquivos que não existem).

Process Monitor (anteriormente conhecido como FileMon ) está disponível no Windows - o que está no cinturão de utilidades do Ubuntu?

Obrigado!

Ashley

    
por chickeninabiscuit 07.07.2009 / 05:38

8 respostas

6

Você está procurando strace. Dê uma olhada aqui: link

    
por 07.07.2009 / 05:44
7

Depende do que você quer:

  • No grande, você quer olhar para inotify para ver todos os acessos de arquivo que qualquer processo faz.

  • No pequeno, o strace permite que você observe as syscalls que um determinado processo faz. Strace é muito legal. Você pode rastrear as chamadas de um processo para 'abrir' fazendo strace -f -eopen $cmd , por exemplo. A página de manual tem detalhes completos sobre a sintaxe, é claro.

por 07.07.2009 / 05:48
2

strace na frente de um aplicativo inicial é bom para observar o que o aplicativo está fazendo.
lsof é bom para ver quais arquivos um aplicativo já em execução está usando.

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

    
por 07.07.2009 / 06:09
2

A SGI tem uma ferramenta que você pode tentar: link

    
por 07.07.2009 / 07:44
1

Aqui está um exemplo do uso de strace para rastrear alterações de arquivos:

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

-f garante que eventos de processos filhos sejam capturados.
-e trace=file diz que devemos capturar syscalls relacionados a arquivos (por exemplo, stat , open , futex etc.) -p é o ID do processo (recuperado de ps -aux ou outros meios) -o especificou o arquivo de saída (pode haver muitos dados e você pode usar o grep como filtro.

    
por 28.01.2013 / 13:39
1

Teste sysdig . Por exemplo:

sysdig -A -c echo_fds

    
por 13.11.2015 / 14:46
0

Isso pede ajuda de Mortadelo. link

    
por 22.01.2010 / 23:26
0

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

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

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 o pacote de auditoria instalado

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

auditoria-gui

Isso replica o filemon do windows, monitorando o acesso ao arquivo para todos os lugares, processos, etc.

verifique também o esta postagem

    
por 19.05.2013 / 17:50