Das /proc – Verzeichnis: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 54: Zeile 54:
 
*Diese Datei enthält den maximalen Wert für die Anzahl der offenen Dateien im System.  
 
*Diese Datei enthält den maximalen Wert für die Anzahl der offenen Dateien im System.  
 
*Der Wert kann gelesen und geändert werden, um die maximale Anzahl der offenen Dateien festzulegen.
 
*Der Wert kann gelesen und geändert werden, um die maximale Anzahl der offenen Dateien festzulegen.
 +
==/proc/PID/cmdline==
 +
*Enthält die Befehlszeile des Prozesses mit der angegebenen PID.
 +
*Sie ist eine Null-terminierte Zeichenkette, die die exakte Befehlszeile darstellt, die verwendet wurde, um den Prozess zu starten.
 +
 
=Lesen und ändern der Werte=
 
=Lesen und ändern der Werte=
 
*Um diese Dateien zu lesen oder Werte zu ändern, können Befehle wie "cat" zum Lesen oder "echo" zum Schreiben verwendet werden. Zum Beispiel:
 
*Um diese Dateien zu lesen oder Werte zu ändern, können Befehle wie "cat" zum Lesen oder "echo" zum Schreiben verwendet werden. Zum Beispiel:

Version vom 24. Juni 2023, 10:05 Uhr

Was ist das proc Dateisystem

  • Das "/proc"-Verzeichnis ist keine tatsächliche Dateisystemstruktur, sondern eine Schnittstelle zum Kernel.
  • Die Dateien in diesem Verzeichnis belegen keinen Speicherplatz auf der Festplatte, sind aber dennoch lesbar und in einigen Fällen auch beschreibbar.
  • Der Name dieses Verzeichnisses leitet sich daher ab, dass es für jeden laufenden Prozess ein Unterverzeichnis bereitstellt, das Informationen über diesen Prozess enthält.
  • Der Name des Unterverzeichnisses entspricht der Prozess-ID (PID) des jeweiligen Prozesses.

Es enthält unter anderem folgende Dateien

  • "cmdline": Die Befehlszeile, mit der der Prozess gestartet wurde, einschließlich aller verwendeten Parameter.
  • "cwd" (current working directory): Ein symbolischer Link zum Verzeichnis, das zum Zeitpunkt des Prozessaufrufs das aktuelle Arbeitsverzeichnis war.
  • "environ": Die vollständige Umgebung des Prozesses, einschließlich Variablen und Funktionen, sofern eine Umgebung vorhanden ist.
  • "exe": Ein symbolischer Link zum aufgerufenen Programm, das den Prozess ausmacht.
  • "root": Ein symbolischer Link zum Verzeichnis, das das Wurzelverzeichnis für den Prozess darstellt.
  • "console": Zeigt Informationen zur aktuellen Konsole an.
  • "fb": Framebuffer-Gerät.
  • "filesystems": Zeigt die vom Kernel unterstützten Dateisysteme an.
  • "locks": Aktuell vom Kernel blockierte Ressourcen.
  • "meminfo": Informationen zum Systemspeicher.
  • "modules": Zeigt die aktuell geladenen Module an.
  • "mounts": Zeigt die eingehängten Partitionen an.
  • "partitions": Listet alle Partitionen des Systems auf, auch die nicht eingehängten.
  • "swap": Informationen zum Auslagerungsspeicher.
  • "uptime": Zeigt an, wie lange das System bereits läuft.
  • "version": Zeigt Kernel- und Systeminformationen an.

Weiteres

  • Darüber hinaus enthält das "/proc"-Verzeichnis weitere Informationen zu den verwendeten Ressourcen wie Speicher und Bibliotheken sowie ein Unterverzeichnis "fd", das die Dateideskriptoren aller vom Prozess verwendeten Dateien enthält.
  • Diese Informationen werden beispielsweise von Programmen genutzt, die Prozessinformationen anzeigen.
  • Was jedoch im Zusammenhang mit Hardware besonders wichtig ist, ist die Möglichkeit, über das "/proc"-Verzeichnis auf bestimmte hardwarebezogene Informationen zuzugreifen.

Hardwareparameter im "/proc"-Verzeichnis

  • Wie bereits auf der Hardwareparameter-Seite erwähnt, benötigen wir für die Interaktion mit bestimmten Hardwarekomponenten Einstellungen, die sowohl auf der Hardwareseite vorhanden sein müssen als auch dem Betriebssystem bekannt sein müssen.
  • Um festzustellen, welche dieser Parameter Linux welcher Hardware zuweist, stellt uns das "/proc"-Verzeichnis mehrere Dateien zur Verfügung, die diese Informationen enthalten.
  • Noch einmal zur Erinnerung: Diese Dateien sind keine tatsächlichen Dateien, sondern Schnittstellen zum Kernel. Das "/proc"-

/proc/sys

  • Der /proc/sys-Teil des Verzeichnisses enthält Informationen und ermöglicht die Änderung von Kernel-Parametern und Systemeinstellungen.
  • Diese Informationen und Einstellungen sind in Dateien im /proc/sys-Verzeichnis organisiert.

Hier ist eine Liste einiger wichtiger Dateien im /proc/sys-Verzeichnis

/proc/sys/net/ipv4/ip_forward

  • Diese Datei ermöglicht das Aktivieren oder Deaktivieren der IP-Weiterleitung auf dem System. Ein Wert von 1 bedeutet, dass die Weiterleitung aktiviert ist, während ein Wert von 0 bedeutet, dass sie deaktiviert ist.

/proc/sys/net/ipv4/tcp_syncookies

  • Diese Datei ermöglicht das Aktivieren oder Deaktivieren von TCP-SYN-Cookies.
  • TCP-SYN-Cookies werden verwendet, um SYN-Flooding-Angriffe abzuwehren.
  • Ein Wert von 1 aktiviert die Verwendung von TCP-SYN-Cookies, während ein Wert von 0 sie deaktiviert.

/proc/sys/net/ipv4/icmp_echo_ignore_all

  • Diese Datei ermöglicht das Ignorieren aller eingehenden ICMP-Echoanforderungen (Ping).
  • Ein Wert von 1 bedeutet, dass alle eingehenden ICMP-Echoanforderungen ignoriert werden, während ein Wert von 0 bedeutet, dass sie akzeptiert werden.

/proc/sys/kernel/hostname

  • Diese Datei enthält den Hostnamen des Systems.
  • Der Inhalt kann gelesen und geändert werden, um den Hostnamen des Systems festzulegen oder abzurufen.

/proc/sys/vm/swappiness

  • Diese Datei steuert das Verhalten des Systems beim Swappen von Speicherseiten auf die Festplatte.
  • Der Wert kann zwischen 0 und 100 liegen, wobei ein niedrigerer Wert weniger Swapping und ein höherer Wert mehr Swapping bewirkt.

/proc/sys/fs/file-max

  • Diese Datei enthält den maximalen Wert für die Anzahl der offenen Dateien im System.
  • Der Wert kann gelesen und geändert werden, um die maximale Anzahl der offenen Dateien festzulegen.

/proc/PID/cmdline

  • Enthält die Befehlszeile des Prozesses mit der angegebenen PID.
  • Sie ist eine Null-terminierte Zeichenkette, die die exakte Befehlszeile darstellt, die verwendet wurde, um den Prozess zu starten.

Lesen und ändern der Werte

  • Um diese Dateien zu lesen oder Werte zu ändern, können Befehle wie "cat" zum Lesen oder "echo" zum Schreiben verwendet werden. Zum Beispiel:
  • cat /proc/sys/net/ipv4/ip_forward
  • zeigt den aktuellen Wert der IP-Weiterleitung an.
  • echo 1 > /proc/sys/net/ipv4/ip_forward
  • ändert den Wert der IP-Weiterleitung auf 1 (aktiviert).

Änderungen

  • Bitte beachte, dass Änderungen in diesen Dateien normalerweise nicht dauerhaft sind und nach einem Neustart des Systems verloren gehen.
  • Um Änderungen dauerhaft zu machen, können sie in der Konfigurationsdatei "/etc/sysctl.conf" festgelegt werden.
  • Diese wird beim Systemstart ausgelesen

sysctl

Aufgaben