Компания Microsoft выпустила утилиту ProcMon (Process Monitor) для Linux. Программное обеспечение распространяется под открытой лицензией MIT. Ранее ProcMon была доступна только для Windows.
Что умеет ProcMon
ProcMon позволяет отслеживать поведение процессов в системе. Утилита анализирует активность обращений различных программ к системным вызовам в режиме реального времени.
ProcMon не только выводит на экран детальную информацию о процессах и системных вызовах. Вы можете создавать сводные отчеты, отслеживая определенные вызовы или процессы, и записывать в файл захваченные события для последующего анализа.
Ранее ProcMon предлагалась только для Windows. Она была частью набора бесплатных утилит Sysinternals, которые позволяют гибко администрировать систему и отслеживать ее состояние.
Где скачать ProcMon
Исходный код ПО выложен на GitHub. Пока доступна только предварительная версия утилиты, 1.0 Preview. Ее можно запустить на Ubuntu 18.04 с версией ядра от 4.18 до 5.3.
Для более новых версий Ubuntu, например, Ubuntu 20.04, она пока не собирается. Но в ближайшее время Microsoft обеспечит поддержку бесплатного ПО в других версиях Linux и представит стабильную версию Procmon с расширенными возможностями.
Чтобы установить ProcMon 1.0 Preview для Linux, потребуется:
- cmake версии 3.14 и старше;
- библиотека libsqlite3-dev версии 3.22 и старше;
- система с установленными зависимостями 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) – их можно загрузить из Git-репозитория и собрать.
Установка выполняется из procmon_1.0.0-291_amd64.deb объемом 21.3 MB. Следуя детальной инструкции, можно собрать утилиту самостоятельно из исходного кода.
Пользоваться утилитой предельно просто – достаточно запустить procmon с нужными ключами:
- -h/--help – вывод экрана помощи;
- -p/--pids – через запятую укажите номера процессов, которые вы хотите отслеживать;
- -e/--events – отслеживать список системных вызовов (их имена или идентификаторы перечисляются через запятую);
- -c/--collect [FILEPATH] – включить «безголовый» режим (без графического интерфейса) для сохранения данных в файле;
- -f/--file FILEPATH – открыть файл мониторинга, который вы сохранили ранее.
Microsoft изменила политику и стала уделять большое внимание развитию свободного ПО.
Год назад компания встроила полноценное ядро Linux в Windows, сделав его частью WSL 2.0 – подсистемы Windows Subsystem for Linux. А затем представила командную строку со смайлами и ядром Linux. Кроме того, Microsoft передала Linux-сообществу файловую систему exFAT. В основном систему используют для флеш-накопителей.