Negli ultimi anni Microsoft ha svolto un lavoro lodevole a vantaggio sia di Linux che dell'open source. Hanno aperto molte applicazioni, come VSCode, .NET, Teams, browser Edge, ecc. Una recente aggiunta all'elenco è Monitoraggio processo . Process Monitor, a breve Procmon , consente a uno sviluppatore di tracciare comodamente e facilmente l'attività di syscall nei sistemi Linux.
Process Monitor è una rivisitazione Linux del classico strumento Procmon della suite Sysinternals di strumenti per Windows. La suite Sysinternals comprende diversi strumenti per gestire, diagnosticare, risolvere i problemi e monitorare un sistema Microsoft Windows. Process Monitor fa parte della suite Sysinternals.
Process Monitor è uno strumento di monitoraggio avanzato per Windows che mostra in tempo reale il file system, il registro e l'attività di processo/thread. Monitora l'attività di file system, registro, processo, thread e DLL in tempo reale nei sistemi operativi Windows.
Naturalmente, Linux ha un'utilità della riga di comando nativa denominata Strace
per tracciare le chiamate e i segnali di sistema. Strace è interessante, ma secondo me le visualizzazioni di Procmon sono sempre state più pulite e più belle.
Microsoft ha rilasciato Procmon per Linux diversi mesi fa. Procmon è scritto in C++ e il suo codice sorgente è disponibile gratuitamente in GitHub.
Installa Process Monitor in Linux
Assicurati di aver aggiunto il repository software Linux di Microsoft nel tuo sistema Linux. Ad esempio, esegui i seguenti comandi per aggiungere il repository Microsoft Linux su 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
Dopo aver abilitato il repository Microsoft, esegui il seguente comando per installare Procmon su Ubuntu:
$ sudo apt install procmon
Su altre distribuzioni Linux, sostituisci apt
con il gestore di pacchetti della tua distribuzione. Ad esempio, puoi installare Procmon in Fedora, RHEL usando il comando:
$ sudo dnf install procmon
Traccia l'attività Syscall in Linux con Process Monitor
Per tracciare tutti i processi e le syscall sul tuo sistema Linux, avvia Process Monitor come sudo
o root
utente senza alcuna opzione:
$ sudo procmon
Risultato di esempio:

Per visualizzare le proprietà dell'evento di qualsiasi processo, selezionalo e premi il tasto INVIO.

Puoi utilizzare i tasti funzione F1 su F9 per eseguire varie attività, come visualizzare la guida, ordinare processi, cercare, filtrare, esportare, visualizzare statistiche ecc. Ad esempio, premi F8 per visualizzare le prime 10 statistiche di syscall. Per uscire da Process Monitor, premere q
o F9
chiave.
Al momento Procmon per Linux contiene solo un set limitato di funzionalità. In effetti, sembra una frazione di ciò che monitor di processo fa su Windows. Se Procmon può essere completo come lo è sotto Windows, sarebbe più utile per gli sviluppatori Linux. Per maggiori dettagli, fare riferimento alla pagina GitHub del progetto.