¿Existe una alternativa strace legible por humanos?

¿Existe una alternativa strace legible por humanos?

Quiero saber a qué archivos accede un proceso. stracePuede proporcionarme esa información, pero el resultado stracees bastante "bruto". ¿Hay algo que proporcione una funcionalidad similar, pero de una manera más legible para los humanos (es decir, filtrar bibliotecas, resaltar archivos en el directorio $HOME, proporcionar estadísticas sobre la frecuencia con la que se accede a cosas, etc.)?

Respuesta1

Un tipo llamado Ole Tange codificó la herramienta que estás describiendo. Echa un vistazo aquíhttps://gitlab.com/ole.tange/tangetools/tree/master/tracefile. El archivo de seguimiento es esencialmente un script de shell, así que conviértalo en ejecutable y ejecútelo. El archivo .pod es un manual que describe cómo usarlo.

Respuesta2

fatrace

Instala elfatracepaquete:

sudo apt install fatrace

NOMBRE fatrace - informar eventos de acceso a archivos en todo el sistema

SINOPSIS fatrace [ OPCIONES ]

DESCRIPCIÓN fatrace informa eventos de acceso a archivos de todos los procesos en ejecución.

No informa el acceso a archivos por parte de fatrace, para evitar registrar eventos causados ​​por la escritura de la salida en un archivo. También ignora eventos en sistemas de archivos virtuales y de kernel como sysfs, proc y devtmpfs.

Su objetivo principal es encontrar procesos que sigan activando el disco innecesariamente y así evitar que se ahorre energía.

De forma predeterminada, los eventos se informan a la salida estándar. Esto provocará algunos bucles si ejecuta esta herramienta, por ejemplo, en gnome-terminal, ya que esto provoca un acceso al disco para cada línea de salida. Para evitar esto, redirija la salida a un archivo.

FORMATO DE SALIDA
Un evento típico se parece a

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

La línea tiene los siguientes campos:

  • Nombre del proceso. Esto se lee desde /proc/pid/comm y puede abreviarse para nombres de procesos largos.

  • Identificacion de proceso

  • Tipo de evento: Abrir, Leer, Escribir o Cerrar. Son posibles combinaciones, como CW para cerrar un archivo escrito.

  • Archivo afectado. En algunos casos no se puede determinar la ruta y el nombre, por ejemplo porque se trata de un archivo temporal que ya se ha eliminado. En ese caso, imprime el número mayor y menor de los dispositivos y el número de inodo. Para examinar dicho proceso con más detalle, debería considerar el uso de strace(1).

Si especifica la opción --timestamp, el primer campo será la hora actual.

información relacionada