Existe uma alternativa strace legível por humanos?

Existe uma alternativa strace legível por humanos?

Quero saber quais arquivos um processo acessa. stracepode me fornecer essa informação, mas o resultado straceé bastante "bruto". Existe algo que forneça funcionalidade semelhante, mas de uma forma mais legível (ou seja, filtrar bibliotecas, destacar arquivos no diretório $HOME, fornecer estatísticas sobre a frequência com que as coisas são acessadas, etc.)?

Responder1

Um cara chamado Ole Tange codificou a ferramenta que você está descrevendo. Dê uma olhada aquihttps://gitlab.com/ole.tange/tangetools/tree/master/tracefile. O tracefile é essencialmente um script de shell, portanto, torne-o executável e execute-o. O arquivo .pod é um manual que descreve como usá-lo.

Responder2

fatrace

Instale ofatracepacote:

sudo apt install fatrace

NOME fatrace - reporta eventos de acesso a arquivos em todo o sistema

SINOPSE fatrace [OPÇÕES]

DESCRIÇÃO fatrace relata eventos de acesso a arquivos de todos os processos em execução.

Ele não relata o acesso ao arquivo pelo próprio fatrace, para evitar o registro de eventos causados ​​pela gravação da saída em um arquivo. Ele também ignora eventos em sistemas de arquivos virtuais e de kernel, como sysfs, proc e devtmpfs.

Seu principal objetivo é encontrar processos que ativem o disco desnecessariamente e assim evitem alguma economia de energia.

Por padrão, os eventos são relatados para stdout. Isso causará alguns loops se você executar esta ferramenta, por exemplo, no gnome-terminal, pois isso causa acesso ao disco para cada linha de saída. Para evitar isso, redirecione a saída para um arquivo.

FORMATO DE SAÍDA
Um evento típico se parece com

   rsyslogd(875): W /var/log/auth.log  
   compiz(1971): O device 8:2 inode 658203

A linha possui os seguintes campos:

  • Nome do processo. Isso é lido em /proc/pid/comm e pode ser abreviado para nomes de processos longos.

  • ID do processo

  • Tipo de evento: Abrir, Ler, Gravar ou Fechar. Combinações são possíveis, como CW para fechar um arquivo escrito.

  • Arquivo afetado. Em alguns casos, o caminho e o nome não podem ser determinados, por exemplo, porque se trata de um arquivo temporário que já foi excluído. Nesse caso, imprime o número maior e menor dos dispositivos e o número do inode. Para examinar tal processo com mais detalhes, você deve considerar o uso de strace(1).

Se você especificar a opção --timestamp, o primeiro campo será a hora atual.

informação relacionada