Microsoft выпустила предварительную версию (1.0 Preview) утилиты ProcMon (Process Monitor) для Linux. Компания опубликовала исходный код этой программы на GitHub под лицензией MIT.
Ранее утилита ProcMon была доступна только для Windows и входила в Sysinternals — набор бесплатных программ для администрирования и мониторинга компьютеров под управлением этой операционной системы.
Procmon 1.0 Preview для Linux позволяет разработчикам в консоли отслеживать состояние процессов в системе, а также проводить анализ активности обращений к системным вызовам.
В настоящее время Procmon 1.0 Preview можно установить и запустить только на Ubuntu 18.04 с версией ядра от 4.18 до 5.3. Некоторые пользователи пытались собрать и установить эту утилиту на Ubuntu 20.04, но у них не получилось это сделать. Microsoft планирует в будущем организовать поддержку Procmon и в других версиях Linux и расширить функциональность этой утилиты в стабильной версии.
Установить Procmon 1.0 Preview для Linux можно вручную из репозитория Microsoft (необходим cmake версии 3.14 и старше и libsqlite3-dev версии 3.22 и старше), а также скачав файл procmon_1.0.0-291_amd64.deb размером 21.3 MB.
Для работы утилиты необходимо выполнить установку следующих зависимостей: bison, build-essential, flex, git, libedit-dev, libllvm6.0, llvm-6.0-dev, libclang-6.0-dev, python, zlib1g-dev, libelf-dev.
Вдобавок утилита требует установки инструментария BCC (BPF Compiler Collection), которые позволяет создавать BPF-приложения для трассировки и манипуляции структурами ядра системы.
Сейчас с помощью Procmon можно не только выводить необходимые сведения о процессах и системных вызовах на экран, но и получать сводные отчеты об определенных процессах и вызовах, а также записывать захваченные события в файл.
См. также: