Das /proc – Verzeichnis: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→sysctl) |
|||
| 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