Microsoft již několik posledních let odvádí chvályhodnou práci ve prospěch Linuxu i open-source. Otevřeli mnoho aplikací, jako je VSCode, .NET, Teams, prohlížeč Edge atd. Nedávným přírůstkem do seznamu je Process Monitor . Process Monitor, krátce Procmon , umožňuje vývojářům pohodlně a snadno sledovat aktivitu syscall v systémech Linux.
Process Monitor je linuxové přepracování klasického nástroje Procmon ze sady Sysinternals nástrojů pro Windows. Sada Sysinternals obsahuje několik nástrojů pro správu, diagnostiku, odstraňování problémů a monitorování systému Microsoft Windows. Process Monitor je součástí sady Sysinternals.
Process Monitor je pokročilý monitorovací nástroj pro Windows, který zobrazuje systém souborů, registr a aktivitu procesů/vlákna v reálném čase. V operačních systémech Windows v reálném čase monitoruje souborový systém, registr, procesy, vlákna a aktivitu DLL.
Linux má samozřejmě nativní nástroj příkazového řádku s názvem Strace
ke sledování systémových volání a signálů. Strace je cool, ale pohledy na Procmon byly podle mého názoru vždy čistší a hezčí.
Společnost Microsoft vydala Procmon pro Linux před několika měsíci. Procmon je napsán v C++ a jeho zdrojový kód je volně dostupný na GitHubu.
Instalace Process Monitor v Linuxu
Ujistěte se, že jste přidali úložiště softwaru Microsoft Linux ve vašem systému Linux. Například spusťte následující příkazy pro přidání úložiště Microsoft Linux na Ubuntu Linux:
$ wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt update
Po povolení úložiště Microsoft spusťte následující příkaz k instalaci Procmon na Ubuntu:
$ sudo apt install procmon
V jiných distribucích Linuxu nahraďte apt
se správcem balíčků vaší distribuce. Například můžete nainstalovat Procmon do Fedory, RHEL pomocí příkazu:
$ sudo dnf install procmon
Sledujte aktivitu Syscall v Linuxu pomocí Process Monitor
Chcete-li sledovat všechny procesy a systémová volání ve vašem systému Linux, spusťte Process monitor jako sudo
nebo root
uživatel bez jakýchkoli možností:
$ sudo procmon
Ukázkový výstup:

Chcete-li zobrazit vlastnosti události jakéhokoli procesu, stačí jej vybrat a stisknout klávesu ENTER.

Můžete použít funkční klávesy F1 na F9 k provádění různých úkolů, jako je zobrazení nápovědy, řazení procesů, vyhledávání, filtrování, export, zobrazování statistik atd. Například stiskněte F8 zobrazíte top 10 statistik systémového volání. Chcete-li ukončit Process Monitor, stiskněte q
nebo F9
klíč.
V současné době obsahuje Procmon pro Linux pouze omezenou sadu funkcí. Ve skutečnosti to vypadá jako zlomek toho, co monitor procesů dělá na Windows. Pokud může být Procmon tak úplný jako pod Windows, bylo by to pro vývojáře Linuxu užitečnější. Další podrobnosti najdete na stránce projektu GitHub.