/proc
, kurz für „Prozess“, ist ein virtuelles Dateisystem, das bei jedem Systemstart erstellt wird. Es enthält Informationen zu den laufenden Prozessen, der Speicherverwaltung sowie einigen Hardwarekonfigurationen.
Jedes Linux hat /proc
Dateisystem unabhängig von Typ oder Version. Da es sich um ein virtuelles Dateisystem handelt, kann von jedem Verzeichnis in Linux darauf zugegriffen werden. Um in das Dateisystem zu gelangen, führen wir den Befehl aus:
Wie besucht man das Dateisystem „/proc“?
Das erste, was wir lernen werden, ist, wie man zum /proc-Dateisystem navigiert.
cd /proc
'cd'
bezieht sich auf „Verzeichnis wechseln“, was verwendet wird, um in andere Verzeichnisse unter Linux zu wechseln.
Inhalt des /proc Dateisystems
Anstatt das Verzeichnis zu wechseln, können wir stattdessen alle Dateien von /proc
auflisten Dateisystem auf dem Terminal mit:
ls /proc
'ls'
Der Befehl wird verwendet, um alle Dateien und Verzeichnisse aufzulisten, die am angegebenen Speicherort vorhanden sind. Mehr zu ls hier.
Die 'ls'
Der Befehl verwendet ein Farbschema zur Darstellung von Dateien und Verzeichnissen.
Farbschema
- Blau – Der blaue Teil der Ausgabe repräsentiert Unterverzeichnisse .
- Weiß – Die ungefärbten Dateien sind normale Dateien mit Daten .
- Cyan – Die cyanfarbenen Dateien sind symbolische Links.
Wie wir sehen können /proc
enthält eine große Anzahl von Dateien und Verzeichnissen. Wir werden einige wichtige durchgehen.
Nummerierte Verzeichnisse
Jedes nummerierte Verzeichnis bezeichnet eine Prozess-ID. Die Prozess-ID (PID) ist eine eindeutige ID, die einem bestimmten Prozess gegeben wird, der im System entweder ausgeführt wird oder schläft. Jedes Prozessverzeichnis enthält Dateien, die Informationen über den jeweiligen Prozess speichern.
Es muss beachtet werden, dass jeder Prozess entscheidend für das reibungslose Funktionieren des Systems ist. Daher benötigen wir für den vollständigen Zugriff auf jede Datei in Prozessverzeichnissen Root-Zugriff. Dies kann durch 'sudo -s'
erreicht werden oder 'sudo su'
unter Linux. Weitere Informationen zu sudo.
Betrachten wir ein Beispiel für einen Prozess mit PID =15.
Inhaltsverzeichnis
Das Extrahieren des Inhalts des Verzeichnisses mit der Nummer 15 kann folgendermaßen erfolgen:
ls /proc/15
Prozessinformationen
Um Informationen bezüglich des Prozesses 15 zu extrahieren, führen wir Folgendes aus:
cat /proc/15/status
'cat'
ist ein Linux-Tool zum Verketten von Dateien. Hier haben wir es nur verwendet, um Daten zu extrahieren, die in 'status'
gespeichert sind Datei in '15'
Verzeichnis.
Um die Authentizität der Ausgabe zu überprüfen, können wir den Prozessstatus jederzeit mit dem Befehl ps überprüfen durch:
ps -p 15
Der obige Befehl filtert den Prozessstatus gemäß der angegebenen PID heraus.
Weitere Einzelheiten
Jede Datei in '/proc/15'
enthält einige Informationen zum Prozess '15'
. Einige der Dateien sind:
- /proc/15/mem – Die Erinnerung der Prozess hält bereits.
- /proc/15/environ – Das Umgebungsvariablen-Set während der Einleitung des Prozesses.
- /proc/15/cwd – Der Link zum aktuellen Arbeitsverzeichnis (CWD) des Prozesses.
- /proc/15/limits – Speichert die Werte von resource-limits wie CPU-Zeit oder Speicherplatz.
- /proc/15/fd – Das Verzeichnis, das Dateideskriptoren enthält .
- /proc/15/cmdline – Es enthält die gesamte Befehlszeile für den Prozess.
Um mehr über solche Dateien in prozessbezogenen Verzeichnissen zu erfahren, können wir mit 'man proc'
auf die Handbuchseiten verweisen .
Speicherstatistik
‘/proc/meminfo’
enthält Informationen über die Speichernutzung des Systems. Auf diese Datei kann zugegriffen werden durch:
cat /proc/meminfo
CPU-Informationen
Um auf Details zu CPU-abhängigen Elementen wie CPU-Taktrate, Modell usw. zuzugreifen, kann „/proc/cpuinfo“ verwendet werden:
cat /proc/cpuinfo
Dateien vom Kernel gesperrt
In einer Multithreading-Umgebung ist das Sperren der Schlüssel zum Lösen der gleichzeitigen Bearbeitung einer Datei. '/proc/locks'
enthält die Liste der Sperren, die derzeit vom Kernel implementiert werden.
cat /proc/locks
Jede Zeile enthält ein einzelnes Schloss. Es kann interpretiert werden als:
- 1: – Die Seriennummer in den
locks
Datei. - POSIX – Die Art der Lock-Implementierung .
- HINWEIS – Verhindert ein Versuch, zu sperren die Datei erneut .
- SCHREIBEN – Die Art der Sperre auf Basis Zugriff , entweder LESEN oder SCHREIBEN.
- 2056 – Die PID des Prozesses, der die Sperre hält .
- 08:07:5899560 – Die Identifikation der Datei.
- 0 EOF – Der Start und Ende Punkt der locked-region der Datei.
Kryptographische Module
'/proc/crypto'
enthält die Liste der Chiffren, die von der Krypto-API des Kernels unterstützt werden. Sein Inhalt sieht folgendermaßen aus:
cat /proc/crypto
Unterstützte Dateisysteme
'/proc/filesystems'
enthält die Liste anderer Dateisysteme, die derzeit vom Linux-Kernel unterstützt oder gemountet werden.
cat /proc/filesystems
Die zweite Spalte der Ausgabe enthält den Namen des unterstützten Dateisystems, während die erste Spalte angibt, ob es derzeit gemountet ist oder nicht.
Die Verwendung von
'nodev'
bedeutet, dass das folgende Dateisystem nicht gemountet ist.
Andere Dateien in „/proc“
Einige der anderen Dateien, die wichtige Informationen enthalten, sind:
- /proc/interrupts – Enthält Unterbrechungen für jede CPU .
- /proc/ioports – Speichert die Liste aller Eingangs-/Ausgangsports im Einsatz.
- /proc/diskstats – Zeigt Statistiken für jedes Festplattengerät an .
- /proc/version – Speichert die Kernel-Version .
- /proc/tty – Unterverzeichnis, das Dateien enthält, die sich auf Terminal-Treiber beziehen .
Schlussfolgerung
Dieser Artikel über proc
Dateisystem berührt nur die Oberfläche des Themas. Für einen gelegentlichen Linux-Benutzer könnte es ausreichen. In einem Fall sind Sie immer noch neugierig auf die Möglichkeiten von proc
file-system, dann können Sie den man-Befehl (man proc)
verwenden .
Vielen Dank fürs Lesen. Fühlen Sie sich frei, unten für weitere Fragen oder Kritik zu kommentieren.