Microsoft a fait un travail louable au profit de Linux et de l'open source ces dernières années maintenant. Ils ont ouvert de nombreuses applications, telles que VSCode, .NET, Teams, le navigateur Edge, etc. Un ajout récent à la liste est Process Monitor . Moniteur de processus, sous peu Procmon , permet à un développeur de suivre facilement et facilement l'activité des appels système dans les systèmes Linux.
Process Monitor est une réinvention Linux de l'outil Procmon classique de la suite Sysinternals d'outils pour Windows. La suite Sysinternals comprend plusieurs outils pour gérer, diagnostiquer, dépanner et surveiller un système Microsoft Windows. Process Monitor fait partie de la suite Sysinternals.
Process Monitor est un outil de surveillance avancé pour Windows qui affiche en temps réel le système de fichiers, le registre et l'activité des processus/threads. Il surveille le système de fichiers, le registre, les processus, les threads et l'activité DLL en temps réel dans les systèmes d'exploitation Windows.
Bien sûr, Linux dispose d'un utilitaire de ligne de commande natif nommé Strace
pour tracer les appels système et les signaux. Strace est cool mais les vues Procmon étaient toujours plus propres et plus agréables à mon avis.
Microsoft a publié Procmon pour Linux il y a plusieurs mois. Procmon est écrit en C++ et son code source est disponible gratuitement sur GitHub.
Installer Process Monitor sous Linux
Assurez-vous d'avoir ajouté le dépôt de logiciels Linux de Microsoft dans votre système Linux. Par exemple, exécutez les commandes suivantes pour ajouter le référentiel Microsoft Linux sur 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
Après avoir activé le référentiel Microsoft, exécutez la commande suivante pour installer Procmon sur Ubuntu :
$ sudo apt install procmon
Sur les autres distributions Linux, remplacez apt
avec le gestionnaire de paquets de votre distribution. Par exemple, vous pouvez installer Procmon dans Fedora, RHEL en utilisant la commande :
$ sudo dnf install procmon
Tracer l'activité Syscall sous Linux avec Process Monitor
Pour tracer tous les processus et appels système sur votre système Linux, lancez Process Monitor en tant que sudo
ou root
utilisateur sans aucune option :
$ sudo procmon
Exemple de résultat :

Pour afficher les propriétés d'événement de n'importe quel processus, sélectionnez-le et appuyez sur la touche ENTRÉE.

Vous pouvez utiliser les touches de fonctions F1 à F9 pour effectuer diverses tâches, telles que l'affichage de l'aide, le tri des processus, la recherche, le filtrage, l'exportation, l'affichage des statistiques, etc. Par exemple, appuyez sur F8 pour afficher les statistiques des 10 principaux appels système. Pour quitter Process Monitor, appuyez sur q
ou F9
clé.
À l'heure actuelle, Procmon pour Linux ne contient qu'un ensemble limité de fonctionnalités. En fait, cela ressemble à une fraction de ce que fait le moniteur de processus sur Windows. Si Procmon peut être aussi complet que sous Windows, il serait plus utile aux développeurs Linux. Pour plus de détails, consultez la page GitHub du projet.