Существует ли альтернатива strace, понятная человеку?

Существует ли альтернатива strace, понятная человеку?

Я хочу знать, к каким файлам обращается процесс. straceможет предоставить мне эту информацию, но вывод straceдовольно "сырой". Есть ли что-то, что обеспечивает подобную функциональность, но в более удобной для восприятия форме (т. е. отфильтровывает библиотеки, выделяет файлы в каталоге $HOME, предоставляет статистику о том, как часто осуществляется доступ к вещам и т. д.)?

решение1

Парень по имени Оле Танге закодировал инструмент, который вы описываете. Посмотрите здесьhttps://gitlab.com/ole.tange/tangetools/tree/master/tracefile. Файл трассировки по сути является скриптом оболочки, поэтому сделайте его исполняемым и запустите. Файл .pod — это руководство, описывающее, как его использовать.

решение2

жирная трасса

Установитьжирная трассаупаковка:

sudo apt install fatrace

ИМЯ fatrace - отчет о событиях доступа к файлам в масштабах всей системы

СИНОПСИС fatrace [ ВАРИАНТЫ ]

ОПИСАНИЕ fatrace сообщает о событиях доступа к файлам из всех запущенных процессов.

Он не сообщает о доступе к файлам самим fatrace, чтобы избежать регистрации событий, вызванных записью вывода в файл. Он также игнорирует события в виртуальных и ядерных файловых системах, таких как sysfs, proc и devtmpfs.

Его основная цель — найти процессы, которые без необходимости активируют диск и тем самым мешают экономии энергии.

По умолчанию события отправляются в stdout. Это может вызвать некоторые циклы, если вы запустите этот инструмент, например, в gnome-terminal, так как это вызовет доступ к диску для каждой строки вывода. Чтобы избежать этого, перенаправьте вывод в файл.

ФОРМАТ ВЫХОДНЫХ ДАННЫХ
Типичное событие выглядит так

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

Строка имеет следующие поля:

  • Имя процесса. Это считывается из /proc/pid/comm и может быть сокращено для длинных имен процессов.

  • Идентификатор процесса

  • Тип события: Открыть, Чтение, Запись или Закрыть. Возможны комбинации, например CW для закрытия записанного файла.

  • Затронутые файлы. В некоторых случаях путь и имя не могут быть определены, например, потому что это временный файл, который уже удален. В этом случае он выводит основной и дополнительный номер устройства, а также номер инода. Чтобы изучить такой процесс более подробно, следует рассмотреть возможность использования strace(1).

Если указать опцию --timestamp, первым полем будет текущее время.

Связанный контент