In Linux ist ein Kernprinzip, dass alles als Datei behandelt wird. Dieses Konzept erstreckt sich auf laufende Prozesse, deren Informationen dynamisch in einem speziellen virtuellen Dateisystem namens /proc gespeichert werden.
Das /proc-Verzeichnis erkunden
Das /proc-Dateisystem ist keine echte Datei auf Ihrer Festplatte; es wird vom Kernel im Speicher erstellt. Es bietet ein Fenster in die internen Datenstrukturen des Kernels und den Zustand des Systems.
Um seinen Inhalt anzuzeigen, können Sie die Dateien und Verzeichnisse darin auflisten:
ls /proc
Sie werden viele nummerierte Verzeichnisse sehen. Jede Nummer entspricht der Prozess-ID (PID) eines aktuell laufenden Prozesses. Sie finden auch andere Dateien wie cpuinfo und meminfo, die Informationen zur Systemhardware liefern.
Zugriff auf spezifische Prozessinformationen
Wenn Sie eine PID mit einem Befehl wie ps identifizieren, können Sie das entsprechende Verzeichnis in /proc finden, um detailliertere Informationen zu erhalten. Um beispielsweise einen Prozess mit der PID 12345 zu untersuchen, können Sie dessen Statusdatei einsehen:
cat /proc/12345/status
Dieser Befehl zeigt detaillierte Informationen über den Prozess an, einschließlich seines Zustands (z. B. schlafend, laufend), des Speicherverbrauchs und der Benutzer-ID. Das /proc-Verzeichnis bietet die direkte Sicht des Kernels auf den Prozess und liefert weitaus mehr Daten als Standardwerkzeuge.
Ein Dashboard mit Systemdaten
Betrachten Sie das /proc-Dateisystem als die Rohdatenquelle für viele Systemüberwachungstools. Dienstprogramme wie top, ps und htop lesen aus /proc, um Informationen in einem benutzerfreundlichen Format darzustellen. Es enthält eine Fülle von zusätzlichen Details, die diese Tools standardmäßig möglicherweise nicht anzeigen.
Durch den direkten Zugriff auf Dateien in /proc können Sie spezifische Metriken sammeln, um benutzerdefinierte Skripte oder ein Monitoring-Dashboard zu erstellen, das auf Ihre Bedürfnisse zugeschnitten ist. Es ist eine leistungsstarke Schnittstelle, um die Funktionsweise Ihres Linux-Systems zu beobachten und zu verstehen.