Microsoft hat in den letzten Jahren lobenswerte Arbeit zum Wohle von Linux und Open Source geleistet. Sie haben viele Anwendungen wie VSCode, .NET, Teams, Edge-Browser usw. als Open Source bereitgestellt. Eine neue Ergänzung der Liste ist Process Monitor . Process Monitor, kurz Procmon , ermöglicht es einem Entwickler, Syscall-Aktivitäten in Linux-Systemen bequem und einfach nachzuverfolgen.
Process Monitor ist eine Linux-Neuinterpretation des klassischen Procmon-Tools aus der Sysinternals-Suite von Tools für Windows. Die Sysinternals-Suite besteht aus mehreren Tools zum Verwalten, Diagnostizieren, Beheben und Überwachen eines Microsoft Windows-Systems. Process Monitor ist Teil der Sysinternals-Suite.
Process Monitor ist ein erweitertes Überwachungstool für Windows, das Dateisystem-, Registrierungs- und Prozess-/Thread-Aktivitäten in Echtzeit anzeigt. Es überwacht das Dateisystem, die Registrierung, Prozesse, Threads und DLL-Aktivitäten in Echtzeit in Windows-Betriebssystemen.
Natürlich hat Linux ein natives Befehlszeilenprogramm namens Strace
um die Systemaufrufe und -signale zu verfolgen. Strace ist cool, aber die Ansichten von Procmon waren meiner Meinung nach immer sauberer und schöner.
Microsoft hat Procmon vor einigen Monaten für Linux veröffentlicht. Procmon ist in C++ geschrieben und sein Quellcode ist auf GitHub frei verfügbar.
Prozessmonitor unter Linux installieren
Stellen Sie sicher, dass Sie das Linux-Software-Repository von Microsoft hinzugefügt haben in Ihrem Linux-System. Führen Sie beispielsweise die folgenden Befehle aus, um das Microsoft Linux-Repository unter Ubuntu Linux hinzuzufügen:
$ 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
Führen Sie nach dem Aktivieren des Microsoft-Repositorys den folgenden Befehl aus, um Procmon auf Ubuntu zu installieren:
$ sudo apt install procmon
Ersetzen Sie bei anderen Linux-Distributionen apt
mit dem Paketmanager Ihrer Distribution. Beispielsweise können Sie Procmon in Fedora, RHEL mit folgendem Befehl installieren:
$ sudo dnf install procmon
Syscall-Aktivität in Linux mit Process Monitor verfolgen
Um alle Prozesse und Systemaufrufe auf Ihrem Linux-System zu verfolgen, starten Sie Process Monitor als sudo
oder root
Benutzer ohne Optionen:
$ sudo procmon
Beispielausgabe:
Um die Ereigniseigenschaften eines beliebigen Prozesses anzuzeigen, wählen Sie ihn einfach aus und drücken Sie die EINGABETASTE.
Sie können die Funktionstasten F1 verwenden zu F9 um verschiedene Aufgaben auszuführen, wie z. B. Hilfe anzeigen, Prozesse sortieren, suchen, filtern, exportieren, Statistiken anzeigen usw. Drücken Sie beispielsweise F8 um die Top 10 der Syscall-Statistiken anzuzeigen. Um Process Monitor zu beenden, drücken Sie q
oder F9
Schlüssel.
Derzeit enthält Procmon für Linux nur eine begrenzte Anzahl von Funktionen. Tatsächlich sieht es aus wie ein Bruchteil dessen, was der Prozessmonitor unter Windows tut. Wenn Procmon so vollständig sein kann wie unter Windows, wäre es für die Linux-Entwickler hilfreicher. Weitere Einzelheiten finden Sie auf der GitHub-Seite des Projekts.