GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine Anleitung zum Dateisystem „/proc“ unter Linux

/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 .
  • HINWEISVerhindert 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.


Linux
  1. Wie erhalte ich den Pfad eines Prozesses in Unix / Linux

  2. linux /proc/loadavg

  3. Wie lese ich unter Linux aus /proc/$pid/mem?

  4. Wie stelle ich Swapiness pro Prozess für Linux ein?

  5. Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

Linux-Konfiguration:Verstehen von *.d-Verzeichnissen in /etc

Was ist /dev/null unter Linux

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

/proc/[pid]/pagemaps und /proc/[pid]/maps | Linux

Wie finde ich heraus, aus welchem ​​Ordner ein Prozess läuft?