proc

PROC(5)                     Linux-Programmierhandbuch                    PROC(5)



BEZEICHNUNG
       proc - Pseudo-Dateisystem für Prozessinformationen

BESCHREIBUNG
       /proc ist ein Pseudo-Dateisystem. Es dient als Schnittstelle zu den
       Kernel-Datenstrukturen und wird gewöhnlich unter /proc eingehängt.
       Typischerweise wird es vom System automatisch eingehängt. Es kann aber
       auch mit einem Befehl manuell eingehängt werden:

           mount -t proc proc /proc

       Die meisten Einträge im Dateisystem proc sind nur lesbar, aber einige
       Dateien sind auch schreibbar, wodurch das Verändern von Kernel-Variablen
       erlaubt wird.

   Einhänge-Optionen
       Das Dateisystem proc unterstützt die folgenden Einhängeoptionen:

       hidepid=n (seit Linux 3.3)
              Diese Option regelt, wer auf die Informationen in den
              Verzeichnissen /proc/[PID] zugreifen darf. Das Argument n hat
              einen der folgenden Werte:

              0   Jeder darf auf alle /proc/[PID]-Verzeichnisse zugreifen. Dies
                  ist das traditionelle Verhalten und die Vorgabe, falls diese
                  Einhängeoption nicht angegeben ist.

              1   Benutzer dürfen auf nur ihre eigenen Dateien und
                  Unterverzeichnisse innerhalb von /proc/[PID] zugreifen (die
                  Verzeichnisse /proc/[PID] selbst bleiben sichtbar). Sensitive
                  Dateien wie /proc/[PID]/cmdline und /proc/[PID]/status werden
                  jetzt vor anderen Benutzer geschützt. Dadurch ist es
                  unmöglich, herauszufinden, ob ein andere Benutzer ein
                  bestimmtes Programm ausführt (solange das Programm sich nicht
                  anderweitig durch sein Verhalten zu erkennen gibt).

              2   Wie für Modus 1, aber zusätzlich werden die Verzeichnisse
                  /proc/[PID] anderer Benutzer unsichtbar. Das bedeutet, dass
                  die Einträge /proc/[PID] nicht mehr zur Aufdeckung von PIDs
                  auf dem System genutzt werden können. Das versteckt nicht die
                  Tatsache, dass ein bestimmter PID-Wert existiert (dies kann
                  durch andere Methoden, beispielsweise »kill -0 $PID«,
                  herausgefunden werden), aber es versteckt die UID und GID des
                  Prozesses, die ansonsten durch Einsatz von stat(2) auf einem
                  /proc/[PID]-Verzeichnis herausgefunden werden könnte. Dies
                  verkompliziert die Aufgabe eines Angreifers deutlich,
                  Informationen über laufende Prozesse zu sammeln (z.B. zu
                  entdecken, ob ein Daemon mit erweiterten Privilegien läuft, ob
                  ein anderer Benutzer ein bestimmtes sensitives Programm
                  ausführt, ob ein anderer Benutzer ein bestimmtes Programm
                  überhaupt ausführt usw.).

       gid=gid (seit Linux 3.3)
              Legt die Kennung einer Gruppe fest, deren Mitglieder berechtigt
              sind, Prozessinformationen herauszufinden, die andernfalls durch
              hidepid verweigert würden (d.h. für Benutzer in der Gruppe verhält
              es sich, als ob /proc mit hidepid=0 eingehängt worden wäre). Diese
              Gruppe sollte anderen Ansätzen (wie dem Eintrag von Benutzern in
              die Datei sudoers(5)) vorgezogen werden.

   Überblick
       Unterhalb von /proc gibt es die folgenden allgemeinen Gruppen von Dateien
       und Unterverzeichnissen:

       Unterverzeichnisse von /proc/[PID]
              Jedes dieser Unterverzeichnisse enthält Dateien und
              Unterverzeichnisse, die Informationen über die Prozesse mit der
              entsprechenden Prozesskennung offenlegen.

              Unterhalb jedes der /proc/[PID]-Verzeichnisse enthält ein
              Task-Unterverzeichnis entsprechende Unterverzeichnisse der Form
              Task/[TID]. Diese enthalten entsprechende Informationen über jeden
              der Threads in dem Prozess, wobei TID die Kernel-Thread-Kennung
              des Threads ist.

              Die Unterverzeichnisse /proc/[PID] sind beim Durchlauf durch /proc
              mit getdents(2) sichtbar (und daher sichtbar, wenn ls(1) zur
              Anzeige der Inhalte von /proc verwandt wird).

       Unterverzeichnisse von /proc/[TID]
              Jedes dieser Unterverzeichnisse enthält Dateien und
              Unterverzeichnisse, die Informationen über den Thread mit der
              entsprechenden Thread-Kennung offenlegen. Der Inhalt dieser
              Verzeichnisse ist der gleiche wie bei den entsprechenden
              /proc/[PID]/task/[TID]-Verzeichnissen.

              Die Verzeichnisse /proc/[TID] sind beim Durchlauf von /proc mit
              getdents(2) nicht sichtbar (und daher nicht sichtbar, wenn ls(1)
              zur Anzeige der Inhalte von /proc verwandt wird).

       /proc/self
              Wenn ein Prozess auf diesen magischen symbolischen Link zugreift,
              wird dieser auf das Verzeichnis /proc/[PID] des Prozesses selbst
              aufgelöst.

       /proc/thread-self
              Wenn ein Thread auf diesen magischen symbolischen Link zugreift,
              wird dieser auf das Verzeichnis /proc/self/task/[TID] des
              Prozesses selbst aufgelöst.

       /proc/[a-z]*
              Verschiedene andere Dateien und Unterverzeichnisse unter /proc
              legen systemweite Informationen offen.

       Alles Dargestellte wird weiter unten mit mehr Details beschrieben.

   Dateien und Verzeichnisse
       Die folgende Liste gibt Details über viele der Dateien und Verzeichnisse
       unter der Hierarchie /proc wieder:

       /proc/[PID]
              Für jeden laufenden Prozess gibt es ein numerisches
              Unterverzeichnis, dessen Nummer der Prozesskennung (PID)
              entspricht. Jedes Unterverzeichnis /proc/[PID] enthält die
              nachfolgend beschriebenen Pseudo-Dateien und -Verzeichnisse.

              Als Besitzer der Datei innerhalb jedes /proc/[PID]-Verzeichnisses
              ist normalerweise die effektiven Benutzer- und Gruppenkennung des
              Prozesses eingetragen, allerdings wird als Sicherheitsmaßnahme der
              Besitzer auf root:root gesetzt, wenn das »dumpable«-Attribut des
              Prozesses auf einen anderen Wert als 1 gesetzt ist.

              Vor Linux 4.11.1 bedeutete root:root die »globale« Benutzer- und
              Gruppenkennung von Root (d.h. UID 0 und GID 0 im anfänglichen
              Benutzernamensraum). Seit Linux 4.11 wird die Benutzer-
              (Gruppen-)Eigentümerschaft von Dateien unterhalb von /proc/[PID]
              stattdessen auf den gleichen Wert wie der Wurzelbenutzer (-gruppe)
              innerhalb des Namensraums gelegt, falls der Prozess in einem
              nichtanfänglichen Benutzernamenesraum ist, der eine gültige
              Abbildung für Benutzer- (Gruppen-)Kennung 0 innerhalb des
              Namensraums hat. Das bedeutet, dass innerhalb eines Containers
              alle Dinge für den Benutzer »root« wie erwartet im Container
              ablaufen.

              Das Attribut »dumpable« mag sich aus folgenden Gründen ändern:

              *  Das Attribut wurde mit der Aktion PR_SET_DUMPABLE von prctl(2)
                 explizit gesetzt.

              *  Das Attribut wurde auf den Wert in der Datei
                 /proc/sys/fs/suid_dumpable (unten beschrieben) zurückgesetzt.
                 Die Gründe sind in prctl(2) beschrieben.

              Durch Zurücksetzen des Attributes »dumpable« wird die
              Eigentümerschaft der Dateien /proc/[PID]/* auf die effektive UID
              und GUID zurückgesetzt. Beachten Sie allerdings, dass das Attribut
              »dumpable« zurückgesetzt werden kann, falls die UID oder GUID
              nachfolgend verändert wird, wie dies in prctl(2) beschrieben ist.
              Daher kann es wünschenswert sein, dass Attribut »dumpable« nach
              der Durchführung der gewünschten Änderungen an der effektiven UID
              oder GUID des Prozesses zurückzusetzen.

       /proc/[PID]/attr
              Die Dateien in diesem Verzeichnis stellen eine API für
              Sicherheitsmodule bereit. Die Inhalte dieses Verzeichnisses sind
              Dateien, die gelesen und geschrieben werden können, um
              sicherheitsbezogene Attribute zu setzen. Dieses Verzeichnis wurde
              hinzugefügt, um SELinux zu unterstützen. Der Ansatz des API war
              aber allgemein genug, um andere Sicherheitsmodule zu unterstützen.
              Für den Zweck der Erläuterung werden Beispiele, wie SELinux diese
              Dateien verwendet, weiter unten angegeben.

              Dieses Verzeichnis ist nur vorhanden, falls der Kernel mit
              CONFIG_SECURITY konfiguriert wurde.

       /proc/[PID]/attr/current (seit Linux 2.6.0)
              Der Inhalt dieser Datei stellt die aktuellen Sicherheitsattribute
              des Prozesses bereit.

              In SELinux wird diese Datei zur Ermittlung des
              Sicherheitskontextes eines Prozesses verwandt. Vor Linux 2.6.11
              konnte diese Datei nicht zum Setzen des Sicherheitskontextes
              verwandt werden (ein Schreibzugriff wurde immer verweigert), da
              SELinux die Prozesssicherheitsübergänge auf execve(2) begrenzte
              (siehe die Beschreibung von /proc/[PID]/attr/exec weiter unten).
              Seit Linux 2.6.11 hat SELinux diese Einschränkung aufgehoben und
              begonnen, »set« (Setzen-)Aktionen mittels Schreibzugriffen auf
              diesen Knoten zu unterstützen, falls dies durch Richtlinien
              erlaubt wurde. Allerdings ist die Verwendung dieser Aktion nur für
              Anwendungen geeignet, denen vertraut wird, die gewünschte
              Separierung zwischen dem alten und dem neuen Sicherheitskontext
              aufrechtzuerhalten.

              Vor Linux 2.6.28 erlaubte es SELinux Threads innerhalb von
              Multi-Threaded-Prozessen nicht, ihren Sicherheitskontext mittels
              dieses Knotens zu setzen, da es zu einer Inkonsistenz innerhalb
              der Sicherheitskontexte der Threads, die den gleichen Speicher
              gemeinsam benutzen, führen würde. Seit 2.6.28 hat SELinux diese
              Einschränkung aufgehoben und begonnen, »set«-Aktionen für Threads
              innerhalb von Multi-Threaded-Prozessen zu unterstützen, falls der
              neue Sicherheitskontext innerhalb der Grenzen des alten
              Sicherheitskontextes liegt, wobei die begrenzende Beziehung in den
              Richtlinien definiert ist und garantiert, dass der neue
              Sicherheitskontext über eine Teilmenge der Rechte des alten
              Sicherheitskontextes verfügt.

              Andere Sicherheitsmodule können sich entscheiden, »set«-Aktionen
              über Schreibzugriffe auf diesen Knoten zu unterstützen.

       /proc/[PID]/attr/exec (seit Linux 2.6.0)
              Diese Datei repräsentiert die Attribute, die den Prozessen bei
              nachfolgenden execve(2) zugewiesen werden sollen.

              In SELinux wird dies benötigt, um Rollen-/Domänenübergänge zu
              unterstützen und execve(2) ist die bevorzugte Stelle, um solche
              Übergänge vorzunehmen, da es bessere Steuermöglichkeiten über die
              Initialisierung des Prozesses im neuen Sicherheits-Label und die
              Vererbung von Zustand erlaubt. In SELinux wird dieses Attribut bei
              execve(2) zurückgesetzt, so dass das neue Programm auf das
              Vorgabeverhalten für alle execve(2), die es ausführen könnte,
              zurückfällt. In SELinux kann ein Prozess nur sein eigenes Attribut
              /proc/[PID]/attr/exec setzen.

       /proc/[PID]/attr/fscreate (seit Linux 2.6.0)
              Diese Datei repräsentiert die Attribute, die Dateien, die von
              nachfolgenden Aufrufen von open(2), mkdir(2), symlink(2) und
              mknod(2) erstellt werden, zugewiesen werden sollen.

              SELinux verwendet diese Datei, um die Erstellung einer Datei (mit
              den vorab erwähnten Systemaufrufen) in einem sicheren Zustand zu
              unterstützen, so dass es kein Risiko gibt, dass ein ungeeigneter
              Zugriff zwischen dem Zeitpunkt der Erstellung und dem Zeitpunkt
              des Setzens der Attribute gibt. In SELinux wird dieses Attribut
              bei execve(2) zurückgesetzt, so dass das neue Programm wieder auf
              das alte Verhalten für alle seine Dateierstellungsaufrufe
              zurückfällt. Das Attribut wird aber über mehrere
              Dateierstellungsaufrufe hinweg innerhalb eines Programms erhalten
              bleiben, solange es nicht explizit zurückgesetzt wird. Unter
              SELinux kann ein Prozess nur sein eigenes Attribut
              /proc/[PID]/attr/fscreate setzen.

       /proc/[PID]/attr/keycreate (seit Linux 2.6.18)
              Falls ein Prozess ein Sicherheitskontext in diese Datei schreibt,
              werden alle nachfolgend erstellten Schlüssel (add_key(2)) mit
              diesem Kontext mit Labeln gekennzeichnet. Für weitere
              Informationen siehe die Kernelquelldatei
              Documentation/security/keys/core.rst (oder Datei
              Documentation/security/keys.txt unter Linux zwischen 3.0 und 4.13
              oder Documentation/keys.txt vor Linux 3.0).

       /proc/[PID]/attr/prev (seit Linux 2.6.0)
              Diese Datei enthält den Sicherheitskontext des Prozesses vor dem
              letzten execve(2); d.h. den vorherigen Wert von
              /proc/[PID]/attr/current.

       /proc/[PID]/attr/socketcreate (seit Linux 2.6.18)
              Falls ein Prozess ein Sicherheitskontext in diese Datei schreibt,
              werden alle nachfolgend erstellten Sockets mit diesem Kontext mit
              Labeln gekennzeichnet.

       /proc/[PID]/autogroup (seit Linux 2.6.38)
              siehe sched(7)

       /proc/[PID]/auxv (seit 2.6.0)
              Dies ist der Inhalt der Informationen für den ELF-Interpreter, die
              dem Prozess zur Ausführungszeit übergeben wurden. Das Format ist
              eine unsigned long-Kennung plus ein unsigned long-Wert für jeden
              Eintrag. Der letzte Eintrag enthält zwei Nullen. Siehe auch
              getauxval(3).

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

       /proc/[PID]/cgroup (seit Linux 2.6.24)
              siehe cgroups(7)

       /proc/[PID]/clear_refs (seit Linux 2.6.22)

              In diese Datei kann nur geschrieben werden und nur durch den
              Eigentümer des Prozesses.

              Die folgenden Werte dürfen in die Datei geschrieben werden:

              1 (seit Linux 2.6.22)
                     setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle
                     diesem Prozess zugeordneten Seiten zurück. (Vor Kernel
                     2.6.32 hatte das Schreiben eines beliebigen von Null
                     verschiedenen Wertes in diese Datei diesen Effekt.)

              2 (seit Linux 2.6.32)
                     setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle
                     anonymen Seiten, die dem Prozess zugeordnet sind, zurück.

              3 (seit Linux 2.6.32)
                     setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle
                     Datei-gemappten Seiten, die dem Prozess zugeordnet sind,
                     zurück.

              Das Leeren der Bits PG_Referenced und ACCESSED/YOUNG stellt eine
              Methode zur Verfügung, ungefähr zu messen, wieviel Speicher der
              Prozess benutzt. Zuerst werden die Werte in den
              »Referenced«-Feldern für die VMAs (virtuellen Speicherbereiche)
              angesehen, die in /proc/[PID]/smaps angezeigt werden, um eine
              Vorstellung von der Speicherbelegung zu bekommen. Dann werden die
              PG_Referenced- und ACCESSED/YOUNG-Bits geleert und nach einer
              gemessenen Zeitspannne erneut die Werte in den
              »Referenced«-Feldern angesehen, um eine Vorstellung von der
              Veränderung der Speicherbelegung zu erhalten. Falls nur Interesse
              besteht, die ausgewählten Mapping-Typen anzusehen, dann kann der
              Wert 2 oder 3 anstelle von 1 benutzt werden.

              Weitere Werte können geschrieben werden, um andere Eigenschaften
              zu beeinflussen:

              4 (seit Linux 3.11)
                     leert das Soft-dirty-Bit für alle mit dem Prozess
                     verbundenen Seiten. Dies wird (zusammen mit
                     /proc/[PID]/pagemap) vom Prüfpunktwiderherstellungssystem
                     benutzt, um aufzudecken, welche Seiten geändert wurden,
                     seit in die Datei /proc/[PID]/clear_refs geschrieben wurde.

              5 (seit Linux 4.0)
                     setzt die Resident Set Size (»Hochwassermarke«) auf den
                     derzeitigen Wert der resident set size des aktuellen
                     Prozesses zurück.

              Wird ein anderer als einer der oben aufgeführten Werte in
              /proc/[PID]/clear_refs geschrieben, so hat dies keinen Effekt.

              Die Datei /proc/[PID]/clear_refs ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_PROC_PAGE_MONITOR aktiviert
              ist.

       /proc/[PID]/cmdline
              In dieser nur lesbaren Datei steht die vollständige Befehlszeile
              für diesen Prozess, wenn er kein Zombie ist. Im letzteren Fall ist
              die Datei leer, ein Lesen der Datei wird 0 Zeichen zurückgeben.
              Die Befehlszeilenargumente sind in dieser Datei als ein Satz von
              Zeichenketten abgelegt, Trennzeichen sind NULL-Bytes ('\0'). Nach
              der letzten Zeichenkette folgt noch ein NULL-Byte.

              Falls ein Prozess nach einem execve(2) seine argv-Zeichenkette
              verändert, tauchen diese Änderungen hier auf. Dies ist nicht
              identisch zur Veränderung des argv-Feldes.

              Ein Prozess kann desweiteren den Speicherort, auf den diese Datei
              verweist, mittels der prctl(2)-Aktionen wie PR_SET_MM_ARG_START
              verändern.

              Betrachten Sie diese Datei als Befehlszeile, die so ist, wie der
              Prozess sie darstellen möchte.

       /proc/[PID]/comm (seit Linux 2.6.33)
              Diese Datei legt den Wert comm des Prozesses offen – das bedeutet,
              den Befehlsnamen, der diesem Prozess zugeordnet ist. Verschiedene
              Threads in dem gleichen Prozess können verschiedene Werte von comm
              haben, auf die mittels /proc/[PID]/task/[TID]/comm zugegriffen
              werden kann. Ein Thread kann seinen comm-Wert verändern oder den
              eines anderen Threads in der gleichen Thread-Gruppe (siehe die
              Diskussion von CLONE_THREAD in clone(2)), indem er in die Datei
              /proc/self/task/[TID]/comm schreibt. Zeichenketten länger als
              TASK_COMM_LEN (16) Zeichen (einschließlich abschließendes
              Null-Byte) werden ohne Rückmeldung abgeschnitten.

              Diese Datei stellt eine Obermenge der Aktionen prctl(2)
              PR_SET_NAME und PR_GET_NAME bereit und wird durch
              pthread_setname_np(3) eingesetzt, wenn vom Aufrufenden
              verschiedene Threads umbenannt werden. Der Wert in dieser Datei
              wird für den Kennzeichner %e in /proc/sys/kernel/core_pattern
              verwandt; siehe core(5).

       /proc/[PID]/coredump_filter (seit Linux 2.6.23)
              siehe core(5)

       /proc/[PID]/cpuset (seit Linux 2.6.12)
              siehe cpuset(7)

       /proc/[PID]/cwd
              Dies ist ein symbolischer Link auf das aktuelle Arbeitsverzeichnis
              des Prozesses. Um dieses z.B. für den Prozess 20 herauszufinden,
              geben Sie die folgenden Befehle ein:

                  $ cd /proc/20/cwd; pwd -P

              In einem Multithread-Prozess ist der Inhalt dieses symbolischen
              Links nicht mehr verfügbar, wenn der Haupt-Thread schon beendet
              ist (typischerweise durch einen Aufruf von pthread_exit(3)).

              Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu
              lesen (readlink(2)), werden von einer Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2).

       /proc/[PID]/environ
              Diese Datei enthält die anfängliche Prozess-Umgebung, die gesetzt
              wurde, als das aktuell ausgeführte Programm mit einem execve(2)
              gestartet wurde. Die Einträge werden durch NULL-Bytes ('\0')
              getrennt, am Ende der Liste kann ebenfalls ein NULL-Byte stehen.
              Die Umgebung von Prozess 1 geben Sie wie folgt aus:

                  $ cat /proc/1/environ | tr '\000' '\n'

              Falls ein Prozess nach einem execve(2) seine Umgebung verändert
              (z.B. durch Aufruf von Funktionen wie putenv(3) oder durch direkte
              Veränderungen der environ(7)-Variablen) wird diese Datei solche
              Änderungen nicht berücksichtigen.

              Ein Prozess kann desweiteren den Speicherort, auf den diese Datei
              verweist, mittels der prctl(2)-Aktionen wie PR_SET_MM_ENV_START
              verändern.

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

       /proc/[PID]/exe
              Unter Linux 2.2 und höher ist diese Datei ein symbolischer Link
              mit dem eigentlichen Pfad des ausgeführten Befehls. Dieser
              symbolische Link kann in der Regel dereferenziert werden; der
              Versuch, ihn zu öffnen, wird die ausführbare Datei öffnen. Sie
              können sogar /proc/[PID]/exe eingeben, um eine weitere Kopie der
              gleichen ausführbaren Datei auszuführen, die für den Prozess [PID]
              läuft. Falls der Pfadname mit unlink gelöscht wurde, wird der
              symbolische Link die Zeichenkette »(deleted)« an den
              ursprünglichen Dateinamen angehängt haben. In einem
              Multithread-Prozess ist der Inhalt dieses symbolischen Links nicht
              mehr verfügbar, wenn der Haupt-Thread schon beendet ist
              (typischerweise durch einen Aufruf von pthread_exit(3)).

              Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu
              lesen (readlink(2)), werden von einer Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2).

              Unter Linux 2.0 und früher ist /proc/[PID]/exe ein Zeiger auf das
              Programm, das ausgeführt wurde und erscheint als symbolischer
              Link. Ein Aufruf von readlink(2) auf diese Datei unter Linux 2.0
              gibt eine Zeichenkette im folgenden Format zurück:

                  [Gerät]:Inode

              Beispielsweise wäre [0301]:1502 also Inode 1502 auf dem Gerät mit
              der Major-Gerätenummer 03 (IDE-, MFM-Festplatten) und der
              Minor-Gerätenummer 01 (erste Partition der ersten Platte).

              find(1) mit der Option -inum zeigt, in welchem Verzeichnis die
              Datei liegt.

       /proc/[PID]/fd/
              In diesem Unterverzeichnis stehen die Dateideskriptoren der von
              diesem Prozess geöffneten Dateien. Diese Einträge sind symbolische
              Links zu den eigentlichen Dateien. Also ist 0 die Standardeingabe,
              1 ist die Standardausgabe, 2 ist der Standardfehlerkanal usw.

              Für Dateideskriptoren für Pipes und Sockets werden die Einträge
              symbolische Links sein, deren Inhalt der Dateityp mit dem Inode
              ist. Ein Aufruf von readlink(2) mit dieser Datei liefert eine
              Zeichenkette im folgenden Format zurück:

                  Typ:[Inode]

              Beispielsweise wird socket:[2248868] ein Socket sein, dessen Inode
              2248868 ist. Für Sockets kann dieser Inode dazu verwandt werden,
              weitere Informationen in einem der Dateien unter /proc/net/ zu
              finden.

              Für Dateideskriptoren, die keinen korrespondierenden Inode haben
              (d.h. durch bpf(2), epoll_create(2), eventfd(2), inotify_init(2),
              perf_event_open(2), signalfd(2), timerfd_create(2) und
              userfaultfd(2) erstellte Dateideskriptoren), wird der Eintrag ein
              symbolischer Link sein mit Inhalten der Form

                  anon_inode:<Dateityp>

              In vielen (aber nicht allen) Fällen wird Dateityp durch eckige
              Klammern eingeschlossen.

              Beispielsweise wird ein Epoll-Dateideskriptor einen symbolischen
              Link, dessen Inhalt die Zeichenkette anon_inode:[eventpoll] ist,
              haben.

              In einem Multithread-Prozess ist der Inhalt dieses Verzeichnisses
              nicht mehr verfügbar, wenn der Haupt-Thread schon beendet ist
              (typischerweise durch einen Aufruf von pthread_exit(3)).

              Programme, die einen Dateinamen als Befehlszeilen-Argument
              verarbeiten, aber ohne Argument keine Eingaben aus der
              Standardeingabe annehmen oder die in eine Datei schreiben, deren
              Name als Befehlszeilen-Argument übergeben wird, aber bei fehlendem
              Argument nicht in die Standardausgabe ausgeben, können dennoch
              mittels Dateien /proc/[PID]/fd als Befehlszeilenargument dazu
              gebracht werden, die Standardeingabe oder die Standardausgabe zu
              verwenden. Angenommen, der Schalter -i bezeichnet die Eingabedatei
              und -o die Ausgabedatei:

                  $ foobar -i /proc/self/fd/0 -o /proc/self/fd/1 …

              und Sie haben einen funktionierenden Filter.

              /proc/self/fd/N ist in etwa dasselbe wie /dev/fd/N in einigen
              UNIX- und UNIX-ähnlichen Systemen. Die meisten MAKEDEV-Skripte
              legen tatsächlich symbolische Links von /proc/self/fd zu /dev/fd
              an.

              Die meisten Systeme stellen die symbolischen Links /dev/stdin,
              /dev/stdout und /dev/stderr bereit, die entsprechend auf die
              Dateien 0, 1 und 2 in /proc/self/fd weisen. Das letzte Beispiel
              könnte also auch alternativ geschrieben werden als:

                  $ foobar -i /dev/stdin -o /dev/stdout …

              Die Rechte, die symbolischen Links in diesem Verzeichnis zu
              dereferenzieren oder zu lesen (readlink(2)), werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS gesteuert;
              siehe ptrace(2).

              Beachten Sie, dass für Dateideskriptoren, die sich auf Inodes
              beziehen (Pipes und Sockets, siehe oben), diese Inodes immer noch
              die von den Einträgen /proc/[PID]/fd verschiedenen
              Berechtigungsbits und Eigentümerinformationen haben und dass sich
              der Eigentümer von den Benutzer- und Gruppenkennungen des
              Prozesses unterscheiden kann. Einem nicht privilegierten Prozess
              könnten die Rechte zum Öffnen fehlen, wie in diesem Beispiel:

                  $ echo test | sudo -u nobody cat
                  test
                  $ echo test | sudo -u nobody cat /proc/self/fd/0
                  cat: /proc/self/fd/0: Permission denied

              Dateideskriptor 0 bezieht sich auf die durch die Shell erzeugte
              und von diesem Shell-Benutzer (dies ist nobody) besessene Pipe, so
              dass cat nicht über die Berechtigungen verfügt, um einen neuen
              Dateideskriptor zu erstellen, um von dieser Inode zu lesen, obwohl
              es immer noch vom existierenden Dateideskriptor 0 lesen kann.

       /proc/[PID]/fdinfo/ (seit Linux 2.6.22)
              In diesem Unterverzeichnis stehen die Dateideskriptoren aller von
              diesem Prozess geöffneten Dateien. Die Dateien in diesem
              Verzeichnis können nur von dem Eigentümer des Prozesses gelesen
              werden. Der Inhalt jeder Datei kann gelesen werden, um
              Informationen über den entsprechenden Dateideskriptor zu bekommen.
              Der Inhalt hängt von der Art der Datei ab, die von dem
              entsprechenden Dateideskriptor referenziert wird.

              Für reguläre Dateien und Verzeichnisse ergibt sich etwas der Form:

                  $ cat /proc/12015/fdinfo/4
                  pos:    1000
                  flags:  01002002
                  mnt_id: 21

              Die Bedeutung der Felder im Einzelnen:

              pos    Dies ist eine Dezimalzahl, die den Dateiversatz zeigt.

              flags  Dies ist eine oktale Zahl, die den Dateizugriffsmodus und
                     die Dateistatusschalter anzeigt (siehe open(2)). Falls der
                     »close-on-exec«-Dateideskriptorschalter gesetzt ist, wird
                     flags auch den Wert O_CLOEXEC enthalten.

                     Vor Linux 3.1 zeigte dieses Feld inkorrekterweise die
                     Einstellung von O_CLOEXEC zum Zeitpunkt des Öffnens der
                     Datei an, statt den aktuellen Wert des Schalters
                     close-on-exec.

              mnt_id Dieses seit Linux 3.15 vorhandene Feld zeigt die Kennung
                     des Einhängepunktes an, der diese Datei enthält. Siehe die
                     Beschreibung von /proc/[PID]/mountinfo.

              Für den Eventfd-Dateideskriptor (siehe eventfd(2)) gibt es (seit
              Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  eventfd-count:               40

              eventfd-count ist der aktuelle hexadezimale Wert des
              Eventfd-Zählers.

              Für den Epoll-Dateideskriptor (siehe epoll(7)) gibt es (seit Linux
              3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  tfd:        9 events:       19 data: 74253d2500000009
                  tfd:        7 events:       19 data: 74253d2500000007

              Jede mit tfd beginnende Zeile beschreibt einen Dateideskriptor,
              der mit dem Epoll-Dateideskriptor überwacht wird (siehe
              epoll_ctl(2) für weitere Details). Das Feld tfd ist die Nummer des
              Dateideskriptors. Das Feld events ist eine hexadezimale Maske der
              für diesen Dateideskriptor überwachten Ereignisse. Das Feld data
              ist der diesem Dateideskriptor zugeordnete Datenwert.

              Für den Signalfd-Dateideskriptor (siehe signalfd(2)) gibt es (seit
              Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  sigmask:  0000000000000006

              sigmask ist die hexadezimale Maske der Signale, die über diesen
              Signalfd-Dateideskriptor akzeptiert werden. (In diesem Beispiel
              sind die Bits 2 und 3 gesetzt; dies entspricht den Signalen SIGINT
              und SIGQUIT; siehe signal(7).)

              Für Inotify-Dateideskriptoren (siehe inotify(7)) gibt es (seit
              Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    00
                  mnt_id:   11
                  inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:2af87e00220ffd73
                  inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:27261900802dfd73

              Jede der mit »inotify« beginnenden Zeilen zeigt Informationen über
              eine überwachte Datei oder ein überwachtes Verzeichnis an. Die
              Felder in dieser Zeile sind wie folgt:

              wd     Eine Watch-Deskriptornummer (deziaml)

              ino    Die Inode-Nummer der Zieldatei (hexadezimal).

              sdev   Die Kennung des Gerätes, auf dem sich die Zieldatei
                     befindet (hexadezimal).

              mask   Die Maske der für die Zieldatei überwachten Ereignisse
                     (hexadezimal).

              Falls der Kernel mit Exportfs-Unterstützung gebaut wurde, ist der
              Pfad zu der Zieldatei mittels drei hexadezimaler Felder als
              Datei-Handle offengelegt: fhandle-bytes, fhandle-type und
              f_handle.

              Für Fanotify-Dateideskriptoren (siehe fanotify(7)) gibt es (seit
              Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   11
                  fanotify flags:0 event-flags:88002
                  fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:4f261900a82dfd73

              Das vierte Feld zeigt Informationen, die bei der Erstellung der
              Fanotify-Gruppe mittels fanotify_init(2) definiert wurden:

              flags  Das an fanotify_init(2) übergebene Argument flags
                     (hexadezimal ausgedrückt).

              event-flags
                     Das an fanotify_init(2) übergebene Argument event_f_flags
                     (hexadezimal ausgedrückt).

              Jede zusätzliche in der Datei gezeigte Zeile enthält Informationen
              über eine der Markierungen in der Fanotify-Gruppe. Die meisten der
              Felder sind für Inotify, außer:

              mflags Die der Markierung zugeordneten Schalter (hexadezimal
                     ausgedrückt).

              mask   Die Ereignismaske für diese Markierung (hexadezimal
                     ausgedrückt).

              ignored_mask
                     Die Maske der für diese Markierung ignorierten Ereignisse
                     (hexadezimal ausgedrückt).

              Für Details über diese Felder lesen Sie fanotify_mark(2).

              Für den Timerfd-Dateideskriptor (siehe timerfd(2)) gibt es (seit
              Linux 3.17) die folgenden Felder:

                  pos:    0
                  flags:  02004002
                  mnt_id: 13
                  clockid: 0
                  ticks: 0
                  settime flags: 03
                  it_value: (7695568592, 640020877)
                  it_interval: (0, 0)

              clockid
                     Dies ist der numerische Wert der Uhrkennung (entsprechend
                     einer der mittels <time.h> definierten Konstanten), der zur
                     Markierung des Fortschritts des Timers verwandt wird (in
                     diesem Beispiel ist 0 CLOCK_REALTIME).

              ticks  Dies ist die Anzahl der aufgetretenen Abläufe des Timers
                     (d.h. dem Wert, den read(2) darauf zurückliefern würde).

              settime flags
                     Dieses Feld führt in oktaler Schreibweise die Schalter auf,
                     mit denen Timerfd letztmalig beladen wurde (siehe
                     timerfd_settime(2)) (in diesem Beispiel sind sowohl
                     TFD_TIMER_ABSTIME als auch TFD_TIMER_CANCEL_ON_SET
                     gesetzt).

              it_value
                     Dieses Feld hält die Zeitdauer in Sekunden und
                     Nanosekunden, bis der Timer das nächste Mal ablaufen wird.
                     Der Wert wird immer relativ ausgedrückt, unabhängig davon,
                     ob der Timer mittels des Schalters TFD_TIMER_ABSTIME
                     erstellt wurde.

              it_interval
                     Dieses Feld enthält das Intervall des Timers in Sekunden
                     und Nanosekunden. (Die Felder it_value und it_interval
                     enthalten die Werte, die timerfd_gettime(2) auf diesem
                     Dateideskriptor zurückliefern würde.)

       /proc/[PID]/gid_map (seit Linux 3.5)
              Siehe user_namespaces(7).

       /proc/[PID]/io (seit Kernel 2.6.20)
              Diese Datei enthält E/A-Statistiken für den Prozess,
              beispielsweise:

                  # cat /proc/3828/io
                  rchar: 323934931
                  wchar: 323929600
                  syscr: 632687
                  syscw: 632675
                  read_bytes: 0
                  write_bytes: 323932160
                  cancelled_write_bytes: 0

              Die Bedeutung der Felder im Einzelnen:

              rchar: characters read (gelesene Zeichen)
                     Die Anzahl an Bytes, die aufgrund dieses Prozesses vom
                     Speicher gelesen wurden. Dies ist einfach die Summe der
                     Bytes, die dieser Prozess an read(2) und ähnliche
                     Systemaufrufe übergeben hat. Sie enthält Dinge wie
                     Terminal-E/A und ist unabhängig davon, ob wirklich
                     physische Platten-E/A benötigt wurde (die Leseanforderung
                     kann aus dem Seitenzwischenspeicher befriedigt worden
                     sein).

              wchar: characters written (geschriebene Zeichen)
                     Die Anzahl an Bytes, die aufgrund dieses Prozesses auf
                     Platte geschrieben wurden oder werden. Es gelten ähnliche
                     Warnungen wie bei rchar.

              syscr: Syscalls lesen
                     Ein Versuch, die Anzahl der gelesen E/A-Vorgänge zu zählen
                     (d.h. der Systemaufrufe wie read(2) und pread(2)).

              syscw: Syscalls schreiben
                     Ein Versuch, die Anzahl der geschriebenen E/A-Vorgänge zu
                     zählen (d.h. der Systemaufrufe wie write(2) und pwrite(2)).

              read_bytes: bytes read (gelesene Bytes)
                     Versucht, die Anzahl der Bytes zu zählen, die aufgrund
                     dieses Prozesses wirklich von der Speichereinheit geholt
                     wurden. Für blockunterstützte Dateisysteme ist dies genau.

              write_bytes: bytes written (geschriebene Bytes)
                     Ein Versuch, die Anzahl der Bytes, die ausgelöst durch
                     diesen Prozess zum Speichermedium gesandt wurden, zu
                     zählen.

              cancelled_write_bytes:
                     Die große Ungenauigkeit hier ist das Abschneiden. Falls ein
                     Prozess 1 MB in eine Datei schreibt und diese dann löscht,
                     wird tatsächlich nichts rausgeschrieben. Allerdings wird
                     dies als 1 MB Schreiben in eine Datei verbucht. Mit anderen
                     Worten: Dieses Feld stellt die Anzahl an Bytes dar, die
                     durch diesen Prozess nicht passiert sind, indem der
                     Seitenzwischenspeicher abgeschnitten wurde. Ein Prozess
                     kann auch »negative« E/A hervorrufen. Falls dieser Prozess
                     benutzten (»dirty«) Seitenzwischenspeicher abschneidet,
                     wird ein Teil des E/A, der für einen anderen Prozess (in
                     seinem write_bytes) verbucht wurde, nicht passieren.

              Hinweis: In der aktuellen Implementierung gibt es auf
              32-Bit-Systemen einen kleinen Ressourcenwettlauf: Falls Prozess A
              /proc/[PID]/io von Prozess B liest, während Prozess B einen der
              64-Bit-Zähler aktualisiert, könnte Prozess A ein Zwischenergebnis
              sehen.

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

       /proc/[PID]/limits (seit Linux 2.6.24)
              Diese Datei enthält die weichen und harten Grenzen sowie die
              Maßeinheiten der für den Prozess geltenden
              Ressourcenbeschränkungen (siehe getrlimit(2)). Bis einschließlich
              Linux 2.6.35 darf die Datei nur mit der realen UID des Prozesses
              gelesen werden. Seit Linux 2.6.36 kann diese Datei von allen
              Benutzern des Systems gelesen werden.

       /proc/[PID]/map_files/ (seit Kernel 3.3)
              Dieses Unterverzeichnis enthält Einträge, die zu
              Speicher-gemappten Dateien gehören (siehe mmap(2)). Einträge
              werden durch Start- und Endadresspaare von Speicherbereichen
              benannt (durch hexadezimale Zahlen ausgedrückt). Sie sind
              symbolische Verweise auf die gemappten Dateien selbst. Hier nun
              ein Beispiel, bei dem die Ausgabe umgebrochen und neu formatiert
              wurde, damit sie in eine 80-spaltige Anzeige passt:

                  # ls -l /proc/self/map_files/
                  lr--------. 1 root root 64 Apr 16 21:31
                              3252e00000-3252e20000 -> /usr/lib64/ld-2.15.so
                  …

              Obwohl diese Einträge für Speicherbereiche vorhanden sind, die mit
              dem Schalter MAP_FILE gemappt wurden, bedeutet die Art, wie anonym
              gemeinsam benutzter Speicher (Bereiche, die mit den Schaltern
              MAP_ANON | MAP_SHARED erzeugt wurden) in Linux implementiert ist,
              dass diese Bereiche auch in diesem Verzeichnis erscheinen. Hier
              folgt ein Beispiel, bei dem die Zieldatei diejenige ist, die
              gelöscht /dev/zero wurde:

                  lrw-------. 1 root root 64 Apr 16 21:33
                              7fc075d2f000-7fc075e6f000 -> /dev/zero (deleted)

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

              Bis Kernel Version 4.3 erschien dieses Verzeichnis nur, falls die
              Kernel-Konfigurationsoption CONFIG_CHECKPOINT_RESTORE aktiviert
              war.

              Capabilities, die zum Lesen der Inhalte von symbolischen Links in
              diesem Verzeichnis benötigt werden: Vor Linux 5.9 benötigte der
              Leseprozess CAP_SYS_ADMIN im anfänglichen Benutzernamensraum; seit
              Linux 5.9 muss der Leseprozess entweder über CAP_SYS_ADMIN oder
              CAP_CHECKPOINT_RESTORE im Benutzernamensraum, in dem er sich
              befindet, verfügen.

       /proc/[PID]/maps
              Eine Datei mit den derzeit gemappten Speicherbereichen und ihren
              Zugriffsrechten. Lesen Sie mmap(2) für weitere Informationen über
              Speicher-Mappings.

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

              Das Format der Datei lautet:

                  address           perms offset  dev   inode       pathname
                  00400000-00452000 r-xp 00000000 08:02 173521      /usr/bin/dbus-daemon
                  00651000-00652000 r--p 00051000 08:02 173521      /usr/bin/dbus-daemon
                  00652000-00655000 rw-p 00052000 08:02 173521      /usr/bin/dbus-daemon
                  00e03000-00e24000 rw-p 00000000 00:00 0           [heap]
                  00e24000-011f7000 rw-p 00000000 00:00 0           [heap]
                  ...
                  35b1800000-35b1820000 r-xp 00000000 08:02 135522  /usr/lib64/ld-2.15.so
                  35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522  /usr/lib64/ld-2.15.so
                  35b1a20000-35b1a21000 rw-p 00020000 08:02 135522  /usr/lib64/ld-2.15.so
                  35b1a21000-35b1a22000 rw-p 00000000 00:00 0
                  35b1c00000-35b1dac000 r-xp 00000000 08:02 135870  /usr/lib64/libc-2.15.so
                  35b1dac000-35b1fac000 ---p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
                  35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
                  35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870  /usr/lib64/libc-2.15.so
                  ...
                  f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0    [stack:986]
                  ...
                  7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0   [stack]
                  7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0   [vdso]

              Das Feld address ist der Adressraum im Prozess, das das Mapping
              belegt. Das Feld perms ist eine Gruppe von Zugriffsrechten.

                  r = read (lesen)
                  w = write (schreiben)
                  x = execute (ausführen)
                  s = shared (gemeinsam benutzt)
                  p = private (copy on write) (Kopieren bei Schreibzugriffen)

              Das Feld offset ist der Abstand zum Anfang (der Datei oder was
              auch immer), dev steht für das Gerät (major:minor) und Inode ist
              der Inode auf diesem Gerät. Ist Inode 0, dann ist keine Datei mit
              diesem Speicherbereich verbunden, wie z.B. im Falle von BSS (nicht
              initialisierte Daten).

              Das Feld pathname wird normalerweise die Datei sein, die dem
              Mapping zugrundeliegt. Für ELF-Dateien können Sie dies einfach mit
              dem Feld offset koordinieren, indem Sie das Feld Offset in den
              ELF-Programm-Headern (readelf -l) anschauen.

              Es gibt zusätzliche, hilfreiche Pseudo-Pfade:

              [stack]
                     Der initiale Stack des Prozesses (auch als Haupt-Thread
                     bekannt).

              [stack:<tid>] (von Linux 3.4 bis 4.4)
                     Der Stack eines Prozesses (wobei die <TID> eine
                     Thread-Kennung ist). Er entspricht dem Pfad
                     /proc/[PID]/task/[TID]/. Dieses Feld wurde in Linux 4.5
                     entfernt, da die Bereitstellung dieser Informationen für
                     einen Prozess mit einer großen Anzahl an Threads
                     kostspielig ist.

              [vdso] Das virtuelle dynamisch-gelinkte Laufzeitobjekt. Siehe
                     vdso(7).

              [heap] Der Prozess-Heap.

              Falls das Feld pathname leer ist, ist dies ein anonymes Mapping,
              wie es per mmap(2) gewonnen wird. Es gibt keine einfache
              Möglichkeit, dies zu einer Prozessquelle zurückzukoordinieren,
              außer es durch gdb(1), strace(1) oder ähnliches auszuführen.

              pathname wird desmaskiert angezeigt, außer für Zeilenumbrüche, die
              durch eine oktale Maskiersequenz ersetzt werden. Daher ist es im
              Ergebnis nicht möglich zu bestimmen, ob der ursprüngliche
              Dateiname ein Zeilenumbruchzeichen oder die tatsächliche
              Zeichensequenz \012 enthielt.

              Falls das Mapping Datei-basiert ist und die Datei gelöscht wurde,
              wird die Zeichenkette » (deleted)« an den Pfadnamen angehängt.
              Beachten Sie, dass auch dies mehrdeutig ist.

              Unter Linux 2.0 gibt es kein Feld, das den Pfadnamen angibt.

       /proc/[PID]/mem
              Diese Datei kann genutzt werden, um auf die Speicherseiten des
              Prozesses mittels open(2), read(2) und lseek(2) zuzugreifen.

              Die Rechte, auf diese Datei zuzugreifen, werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_ATTACH_FSCREDS gesteuert;
              siehe ptrace(2).

       /proc/[PID]/mountinfo (seit Linux 2.6.26)
              Diese Datei enthält Informationen über Einhängepunkte im
              Einhängenamensraum des Prozesses (siehe mount_namespaces(7)). Sie
              stellt verschiedene Informationen (z.B. Ausbreitungszustand,
              Wurzel von Einhängungen für Bind-Einhängungen, Kennzeichner für
              jede Einhängung und seine Elterneinhängung) bereit, die in der
              (älteren) Datei /proc/[PID]/mounts fehlen und korrigiert
              verschiedene andere Probleme mit dieser Datei (z.B.
              Nichterweiterbarkeit, keine Unterscheidbarkeit von pro-Einhängung-
              vs. pro-Superblock-Optionen).

              Die Datei enthält Zeilen der folgenden Form:

              36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
              (1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)

              Die Zahlen in Klammern sind Zuordnungen zu den folgenden
              Beschreibungen:

              (1)  Einhängekennung: eine eindeutige Kennung für dieses Einhängen
                   (kann nach umount(2) erneut verwendet werden).

              (2)  Elternkennung: die Kennung der Eltern-Einhängung (oder von
                   selbst für die Wurzel des Einhängebaums dieses
                   Einhängenamensraums)

                   Falls eine neue Einhängung oben auf eine bisherige bestehende
                   Einhängung beim Pfadnamen P gestapelt wird (so dass es die
                   bestehende Einhängung versteckt), dann ist die
                   Elterneinhängung der neuen Einhängung die vorherige
                   Einhängung an diesem Ort. Beim Blick auf alle an einem
                   bestimmten Ort gestapelten Einhängungen ist daher die oberste
                   Einhängung jene, die keine Elterneinhängung irgendeiner
                   anderen Einhängung am gleichen Ort ist. (Beachten Sie
                   allerdings, dass diese oberste Einhängung nur zugreifbar sein
                   wird, falls das längste Pfadpräfix von P, das der
                   Einhängepunkt ist, nicht selbst durch eine gestapelte
                   Einhängung versteckt ist.)

                   Falls der Elterneinhängepunkt außerhalb des
                   Wurzelverzeichnisses des Prozesses liegt (siehe chroot(2))
                   wird die hier gezeigte Kennung keinen korrespondierenden
                   Datensatz in mountinfo haben, dessen Einhängekennung (Feld 1)
                   auf die Einhängekennung des Elternprozesses passt (da
                   Einhängepunkte, die außerhalb des Wurzelverzeichnisses des
                   Prozesses liegen, nicht in mountinfo angezeigt werden). Als
                   Sonderfall bei diesem Punkt kann der Wurzeleinhängungspunkt
                   dieses Prozesses eine Elterneinhängung (für das
                   Initramfs-Dateisystem) haben, der außerhalb des
                   Wurzelverzeichnisses des Prozesses liegt, und ein Eintrag für
                   diesen Einhängepunkt wird in mountinfo nicht auftauchen.

              (3)  Major:Minor: der Wert von st_dev für Dateien im Dateisystem
                   (siehe stat(2)).

              (4)  Wurzel: der Pfadname des Verzeichnisses in dem Dateisystem,
                   der die Wurzel dieser Einhängung darstellt.

              (5)  Einhängepunkt: der Einhängepunkt relativ zum
                   Wurzelverzeichnis des Prozesses.

              (6)  Einhängeoptionen: individuelle Einhängeoptionen (siehe
                   mount(2)).

              (7)  Optionale Felder: ein oder mehrere Felder der Form
                   »Bezeichnung[:Wert]« (siehe unten).

              (8)  Trennzeichen: Das Ende der optionalen Felder wird durch einen
                   einzelnen Bindestrich markiert.

              (9)  Dateisystemtyp: der Typ des Dateisystems im Format
                   »Typ[.Untertyp]«.

              (10) Einhänge-Ursprung: dateisystemspezifische Informationen oder
                   »none«.

              (11) Super-Optionen: individuelle Superblock-Optionen (siehe
                   mount(2)).

              Derzeit sind shared, master, propagate_from und unbindable
              mögliche optionale Felder. Siehe mount_namespaces(7) für eine
              Beschreibung dieser Felder. Auswertprogramme sollten alle nicht
              erkannten optionalen Felder ignorieren.

              Weitere Informationen zur Ausbreitung von Einhängepunkten finden
              Sie in Documentation/filesystems/sharedsubtree.txt im
              Linux-Kernel-Quelltext.

       /proc/[PID]/mounts (seit Linux 2.4.19)
              Diese Datei listet alle Dateisysteme auf, die derzeit in dem
              Einhängenamensraum des Prozesses eingehängt sind (siehe
              mount_namespaces(7)). Das Format dieser Datei wird in fstab(5)
              dokumentiert.

              Seit Kernel-Version 2.6.15 kann diese Datei abgefragt werden: Nach
              dem Öffnen der Datei zum Lesen veranlasst eine Änderung in dieser
              Datei (d.h. ein Dateisystem einhängen oder aushängen) select(2),
              den Dateideskriptor als besondere Bedingung und poll(2) und
              epoll_wait(2) die Datei als Prioritätsereignis (POLLPRI) zu
              markieren. (Vor Linux 2.6.30 führte eine Änderung in dieser Datei
              dazu, dass der Dateideskriptor als lesbar für select(2) und als
              Fehlerzustand für poll(2) und epoll_wait(2) markiert wurde.)

       /proc/[PID]/mountstats (seit Linux 2.6.17)
              Diese Datei macht Informationen (Statistiken,
              Konfigurationsinformation) über die Einhängepunkte im
              »mount«-Namensraum des Prozesses verfügbar (siehe
              mount_namespaces(7)). Zeilen in dieser Datei haben die folgende
              Form:

                  device /dev/sda7 mounted on /home with fstype ext3 [stats]
                  (       1      )            ( 2 )             (3 ) (  4  )

              Die Felder in jeder Zeile sind:

              (1)  Der Name des eingehängten Geräts (oder »nodevice«, wenn es
                   kein entsprechendes Gerät gibt).

              (2)  Der Einhängepunkt innerhalb des Dateisystembaums.

              (3)  Der Dateisystemtyp.

              (4)  Optionale Statistiken und Konfigurationsinformationen.
                   Derzeit (Stand Linux 2.6.26) stellen nur NFS-Dateisysteme
                   Informationen in diesem Feld bereit.

              Diese Datei kann nur vom Eigentümer des Prozesses gelesen werden.

       /proc/[PID]/net (seit Linux 2.6.25)
              Siehe die Beschreibung von /proc/net.

       /proc/[PID]/ns/ (seit Linux 3.0)
              Dieses Unterverzeichnis enthält einen Eintrag für jeden
              Namensraum, der mittels setns(2) manipuliert werden kann. Für
              weitere Informationen siehe namespaces(7).

       /proc/[PID]/numa_maps (seit Linux 2.6.14)
              Siehe numa(7).

       /proc/[PID]/oom_adj (seit Linux 2.6.11)
              Diese Datei kann verwendet werden, um die Bewertung anzupassen,
              anhand dessen Prozesse bei Speicherknappheit (out-of-memory, OOM)
              abgebrochen werden. Der Kernel verwendet diesen Wert für eine
              Bit-Verschiebeoperation des oom_score-Werts des Prozesses: Gültig
              sind Werte im Bereich von -16 bis +15, sowie der besondere Wert
              -17, der einen Abbruch des Prozesses wegen Speicherknappheit
              deaktiviert. Ein positiver Wert erhöht die Wahrscheinlichkeit,
              dass der Prozess vom OOM-Killer getötet wird, ein negativer Wert
              senkt die Wahrscheinlichkeit.

              Der Standardwert für diese Datei ist 0. Ein neuer Prozess erbt die
              Einstellung oom_adj von seinem Elternprozess. Ein Prozess muss
              privilegiert sein (CAP_SYS_RESOURCE), um diese Datei zu
              aktualisieren.

              seit Linux 2.6.36 wird die Verwendung dieser Datei gegenüber
              /proc/[PID]/oom_score_adj missbilligt.

       /proc/[PID]/oom_score (seit Linux 2.6.11)
              Diese Datei zeigt die aktuelle Bewertung des Kernels für diesen
              Prozess als Grundlage für die Auswahl als Opfer des OOM-Killers.
              Eine höhere Bewertung bedeutet, dass der Prozess eher von dem
              OOM-Killer ausgewählt werden soll. Die Grundlage dieser Bewertung
              ist der Speicherverbrauch. Verschiedene andere Faktoren erhöhen
              (+) oder verringern (-) diesen Wert. Diese Faktoren sind:

              * ob der Prozess privilegiert ist (-).

              Vor Kernel 2.6.36 wurden die folgenden Faktoren auch bei der
              Berechnung von oom_score benutzt:

              * ob der Prozess mittels fork(2) viele Kinder erzeugt (+);

              * ob der Prozess schon lange läuft oder viel CPU-Zeit verbraucht
                hat (-);

              * ob der Prozess einen niedrigen Nice-Wert hat (d.h. > 0) (+); und

              * ob der Prozess direkt auf die Hardware zugreift (-).

              Der oom_score spiegelt auch die Anpassung durch die oom_score_adj-
              oder oom_adj-Einstellung für den Prozess.

       /proc/[PID]/oom_score_adj (seit Linux 2.6.36)
              Diese Datei kann zur Anpassung der Schlechtigkeitsheuristik
              verwandt werden, die eingesetzt wird, um in
              Speicherknappheitssituationen den zu beendenden Prozess
              auszuwählen.

              Die Schlechtigkeits-Heuristik weist jedem möglichen Prozess einen
              Wert von 0 (niemals töten) bis 1000 (immer töten) zu, um zu
              bestimmen, welcher Prozess infrage kommt. Der Wert beschreibt im
              Wesentlichen den kontinuierlichen Anteil des erlaubten Speichers,
              aus dem sich der Prozess Speicher zuweisen darf. Als Grundlage
              dient dazu der aktuelle verwendete Speicher und
              Auslagerungsspeicher. Wenn ein Prozess beispielsweise sämtlichen
              erlaubten Speicher nutzt, ist dessen Schlechtigkeitsbewertung bei
              1000. Nutzt er die Hälfte des erlaubten Speichers, beträgt die
              Bewertung 500.

              Es gibt einen weiteren Faktor in der Schlechtigkeitsbewertung:
              Root-Prozessen wird 3% zusätzlicher Speicher gegenüber anderen
              Prozessen gegeben.

              Die Menge des »erlaubten« Speichers hängt von dem Kontext ab, in
              dem der OOM-Killer aufgerufen wurde. Falls der Kontext ist, dass
              der oder die Prozessoren ausgelastet sind, entspricht der erlaubte
              Speicher dem Speicher, der diesem Cpuset zugewiesen ist (siehe
              cpuset(7)). Falls der oder die Mempolicy-Knoten erschöpft
              ist/sind, repräsentiert der erlaubte Speicher die
              Mempolicy-Knoten. Falls eine Arbeitsspeicher- (oder
              Auslagerungsspeicher-) Grenze erreicht wurde, entspricht der
              erlaubte Speicher dieser Grenze. Sollte das gesamte System keinen
              Speicher mehr übrig haben, steht der erlaubte Speicher für alle
              verfügbaren Ressoucen.

              Die Wert aus oom_score_adj wird zur Schlechtigkeitsbewertung
              hinzugefügt, bevor dieser zur Ermittlung des zu tötenden Prozesses
              verwendet wird. Zulässige Werte liegen zwischen -1000
              (OOM_SCORE_ADJ_MIN) und +1000 (OOM_SCORE_ADJ_MAX), einschließlich
              dieser. Dies ermöglicht auf Anwendungsebene die Einstellungen für
              das OOM-Killern zu steuern; dies reicht von der permanentes
              Bevorzugen eines bestimmten Prozesses oder deren vollständige
              Deaktivierung des OOM-Killers für ihn. Der niedrigste mögliche
              Wert von -1000 ist gleichbedeutend mit der vollständigen
              Deaktivierung des OOM-Killers für diesen Prozess, da dieser stets
              eine Schlechtigkeitsbewertung von 0 meldet.

              Infolgedessen ist es für die Anwendungsebene sehr einfach, die
              Speichermenge zu definieren, die für jeden Prozess in Betracht
              gezogen wird. Die Festlegung eines Wertes von +500 für
              oom_score_adj ist beispielsweise etwa gleichbedeutend damit, dass
              die übrigen Prozesse, die das gleiche System, Cpuset, Mempolicy
              oder Speicher-Controller-Ressourcen mit verwenden, mindestens 50%
              mehr Speicher verwenden. Andererseits wäre ein Wert von -500 etwa
              gleichbedeutend damit, den erlaubten Speicher eines Prozesses bei
              der Bewertung des erlaubten Speichers des Prozesses um 50% zu
              reduzieren.

              Zur Rückwärtskompatibilität mit früheren Kerneln kann
              /proc/[PID]/oom_adj immer noch zur Feineinstellung der
              Schlechtigkeitsbewertung verwendet werden. Dieser Wert skaliert
              linear mit oom_score_adj.

              Schreiben in /proc/[PID]/oom_score_adj oder /proc/[PID]/oom_adj
              führt zur Änderung des anderen mit dem skalierten Wert.

              Das Programm choom(1) stellt eine Befehlszeilenschnittstelle für
              die Anpassung des Wertes oom_score_adj eines laufenden Prozesses
              oder frisch ausgeführten Befehls bereit.

       /proc/[PID]/pagemap (seit Linux 2.6.25)
              Diese Datei zeigt das Mapping jeder der virtuellen Seiten des
              Prozesses auf die physischen Seiten-Frames oder den
              Auslagerungsbereich. Sie enthält einen 64-Bit-Wert für jede
              virtuelle Seite, wobei die Bits wie folgt gesetzt sind:

              63     Falls gesetzt ist die Seite im RAM

              62     Falls gesetzt, befindet sich die Seite im
                     Auslagerungsbereich (Swap)

              61 (seit Linux 3.5)
                     Die Seite ist eine Datei-gemappte Seite oder eine gemeinsam
                     benutzte Seite.

              60…57 (seit Linux 3.11)
                     Null

              56 (seit Linux 4.2)
                     Diese Seite ist exklusiv gemappt.

              55 (seit Linux 3.11)
                     PTE ist soft-dirty (leicht geändert, siehe die
                     Kernel-Quelldatei
                     Documentation/admin-guide/mm/soft-dirty.rst).

              54…0   Falls die Seite im RAM (Bit 63) liegt, stellen diese Bits
                     die Seiten-Frame-Nummer bereit, die zum Indizieren von
                     /proc/kpageflags und /proc/kpagecount benutzt werden kann.
                     Falls die Seite im Auslagerungsspeicher liegt (Bit 62),
                     geben die Bits 4…0 den Typ des Auslagerungsspeichers an und
                     die Bits 54…5 kodieren den Auslagerungsspeicherversatz.

              Vor Linux 3.11 wurden die Bits 60…55 dazu verwandt, den
              Logarithmus (in der Basis 2) der Seitengröße zu halten.

              Um /proc/[PID]/pagemap effektiv einzusetzen, verwenden Sie
              /proc/[PID]/maps, um die Speicherbereiche zu bestimmen, die
              tatsächlich gemappt sind und überspringen Sie die nicht gemappten
              Bereiche.

              Die Datei /proc/[PID]/pagemap ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_PROC_PAGE_MONITOR aktiviert
              ist.

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

       /proc/[PID]/personality (seit Linux 2.6.28)
              Diese nur lesbare Datei legt die Ausführungs-Domain des Prozesses
              offen, wie sie von personality(2) gesehen wird. Der Wert ist
              hexadezimal dargestellt.

              Die Rechte, auf diese Datei zuzugreifen, werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_ATTACH_FSCREDS gesteuert;
              siehe ptrace(2).

       /proc/[PID]/root
              UNIX und Linux unterstützen das Konzept eines prozesseigenen
              Wurzel-Dateisystems (root), das für jeden Prozess mit dem
              Systemauf chroot(2) gesetzt wird. Diese Datei ist ein symbolischer
              Link, der auf das Wurzelverzeichnis des Prozesses weist, und
              verhält sich wie es auch exe und fd/* tun.

              Beachten Sie, dass diese Datei nicht nur ein einfacher
              symbolischer Link ist. Sie stellt den gleichen Blick auf das
              Dateisystem (einschließlich Namensräume und der Gruppe der
              pro-Prozess-Einhängungen) wie der Prozess dar. Ein Beispiel
              erläutert diesen Punkt. In einem Terminal wird eine Shell in einem
              neuen Benutzer- und Einhängenamensraum gestartet und in dieser
              Shell werden einige neue Einhängepunkte erstellt:

                  $ PS1='sh1# ' unshare -Urnm
                  sh1# mount -t tmpfs tmpfs /etc  # Leeres Tmpfs unter /etc einhängen
                  sh1# mount --bind /usr /dev     # /usr unter /dev einhängen
                  sh1# echo $$
                  27123

              In einem zweiten Terminalfenster, in dem ursprünglichen
              Einhängenamensraum, wird der Inhalt der entsprechenden
              Einhängungen in dem ursprünglichen und dem neuen Namensraum
              angeschaut:

                  $ PS1='sh2# ' sudo sh
                  sh2# ls /etc | wc -l                  # Im anfänglichen NR
                  309
                  sh2# ls /proc/27123/root/etc | wc -l  # /etc in anderem NR
                  0                                     # Das leere Verz tmpfs
                  sh2# ls /dev | wc -l                  # Im anfänglichen NR
                  205
                  sh2# ls /proc/27123/root/dev | wc -l  # /dev in anderem NR
                  11                                    # Tatsächlich bind-
                                                        # eingehängt in /usr
                  sh2# ls /usr | wc -l                  # /usr im anfänglichen NR
                  11

              In einem Multithread-Prozess ist der Inhalt des symbolischen Links
              /proc/[PID]/root nicht mehr verfügbar, wenn der Haupt-Thread schon
              beendet ist (typischerweise durch einen Aufruf von
              pthread_exit(3)).

              Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu
              lesen (readlink(2)), werden von einer Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2).

       /proc/[PID]/seccomp (Linux 2.6.12 bis 2.6.22)
              Diese Datei kann zum Lesen und Ändern der Moduseinstellungen der
              sicheren Berechnung (Seccomp) des Prozesses verwandt werden. Sie
              enthält den Wert 0, falls der Prozess sich nicht im Seccomp-Modus
              befindet und 1, falls der Prozess sich im strikten Seccomp-Modus
              befindet (siehe seccomp(2)). Wird 1 in diese Datei geschrieben,
              wird der Prozess unwiderruflich in den strikten Seccomp-Modus
              gebracht. (Weitere Versuche, in diese Datei zu schreiben, werden
              mit dem Fehler EPERM fehlschlagen.)

              Unter Linux 2.6.23 verschwand diese Datei und wurde durch die
              Aktionen PR_GET_SECCOMP und PR_SET_SECCOMP von prctl(2) ersetzt
              (und später durch seccomp(2) und das Feld Seccomp in
              /proc/[PID]/status).

       /proc/[PID]/setgroups (seit Linux 3.19)
              Siehe user_namespaces(7).

       /proc/[PID]/smaps (seit Linux 2.6.14)
              Diese Datei zeigt den Speicherverbrauch für jedes der
              Prozess-Mappings. (Der Befehl pmap(1) zeigt ähnliche Informationen
              in einer Form, die leichter auswertbar sein könnte.) Für jedes der
              Mappings gibt es eine Reihe von Zeilen wie die folgende:

                  00400000-0048a000 r-xp 00000000 fd:03 960637       /bin/bash
                  Size:                552 kB
                  Rss:                 460 kB
                  Pss:                 100 kB
                  Shared_Clean:        452 kB
                  Shared_Dirty:          0 kB
                  Private_Clean:         8 kB
                  Private_Dirty:         0 kB
                  Referenced:          460 kB
                  Anonymous:             0 kB
                  AnonHugePages:         0 kB
                  ShmemHugePages:        0 kB
                  ShmemPmdMapped:        0 kB
                  Swap:                  0 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  Locked:                0 kB
                  ProtectionKey:         0
                  VmFlags: rd ex mr mw me dw

              Die erste dieser Zeilen enthält die gleichen Informationen, wie
              sie für das Mapping in /proc/[PID]/maps angezeigt werden. Die
              übrigen Zeilen zeigen die Größe des Mappings, den aktuell im RAM
              befindlichen Anteil des Mappings, der Anteil des Prozesses an dem
              Mapping (»Pss«), die Anzahl unveränderter (clean) und geänderter
              (dirty) gemeinsam genutzter Seiten des Mappings und die Anzahl
              unveränderter und geänderter privater Seiten. »Referenced« gibt
              die Menge des derzeit als referenziert oder zugegriffen markierten
              Speichers an. »Anonymous« zeigt die Speichermenge, die zu keiner
              Datei gehört. »Swap« zeigt an, wieviel
              möchte-gerne-Anonym-Speicher auch verwandt wird, aber im
              Auslagerungsspeicher.

              Die Zeile »KernelPageSize« (verfügbar seit Linux 2.6.29) ist die
              vom Kernel verwandte Seitengröße, um den virtuellen
              Speicherbereich zu hinterlegen. Dies passt in den meisten Fällen
              auf die Größe, die von der MMU verwandt wird. Allerdings tritt ein
              Gegenbeispiel auf PPC64-Kerneln auf, auf denen 64 kB als
              Basisseitengröße verwandt wird, aber auf älteren Prozessoren 4 kB
              für die MMU verwendet wird. Um zwischen den zwei Attributen zu
              unterscheiden, meldet die Zeile »MMUPageSize« (auch seit Linux
              2.6.29 verfügbar) die von der MMU verwandte Seitengröße.

              Das »Locked« zeigt an, ob das Mapping im Speicher gesperrt ist
              oder nicht.

              Die Zeile »ProtectionKey« (verfügbar seit Linux 4.9, nur x86)
              enthält den Speicherschutzschlüssel (siehe pkeys(7)), der dem
              virtuellen Speicherbereich zugeordnet ist. Dieser Eintrag ist nur
              vorhanden, falls der Kernel mit der Konfigurationsoption
              CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS gebaut wurde (seit Linux
              4.6).

              Die Zeile »VmFlags« (verfügbar seit Linux 3.8) stellt die dem
              virtuellen Speicherbereich zugeordneten Kernelschalter dar,
              kodiert mittels der folgenden zwei-Buchstaben-Codes:

                  rd  - lesbar
                  wr  - schreibbar
                  ex  - ausführbar
                  sh  - gemeinsam
                  mr  - könnte lesen
                  mw  - könne schreiben
                  me  - könnte ausführen
                  ms  - könnte gemeinsam
                  gd  - Stack-Segment wächst abwärts
                  pf  - reiner PFN-Bereich
                  dw  - Schreiben in die gemappte Datei deaktiviert
                  lo  - Seiten sind im Speicher gesperrt
                  io  - Speicher-gemappter E/A-Bereich
                  sr  - Empfehlung zum sequentiellen Lesen bereitgestellt
                  rr  - Empfehlung zum zufälligen Lesen bereitgestellt
                  dc  - Bereich, der beim Fork nicht kopiert werden soll
                  de  - beim neu Mappen Bereich nicht vergrößern
                  ac  - Bereich ist rechenschaftspflichtig
                  nr  - Auslagerungsbereich ist für den Bereich nicht reserviert
                  ht  - Bereich verwendet große tlb-Seiten
                  sf  - synchrone Seitenausnahmebehandlungen durchführen (seit
              Linux 4.15)
                  nl  - nicht-lineares Mapping (in Linux 4.0 entfernt)
                  ar  - architekturabhängiger Schalter
                  wf  - Beim Fork bereinigen (seit Linux 4.14)
                  dd  - Bereich nicht in den Kernspeicherauszug einschließen
                  sd  - soft-dirty-Schalter (seit Linux 3.13)
                  mm  - gemischt-gemappter Bereich
                  hg  - Empfehlungs-Schalter für große Seiten
                  nh  - Kein-Empfehlungs-Schalter für große Seiten
                  mg  - Empfehlungsschalter zum Zusammenführen
                  um  - userfaultfd-Nachverfolgung fehlender Seiten (seit Linux
              4.3)
                  uw  - userfaultfd-Nachverfolgung wprotect-Seiten (seit Linux
              4.3)

              Die Datei /proc/[PID]/smaps ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_PROC_PAGE_MONITOR aktiviert
              ist.

       /proc/[PID]/stack (seit Linux 2.6.29)
              Diese Datei stellt eine symbolische Verfolgung der
              Funktionsaufrufe in dem Kernel-Stack dieses Prozesses bereit.
              Diese Datei wird nur bereitgestellt, falls der Kernel mit der
              Konfigurationsoption CONFIG_STACKTRACE gebaut wurde.

              Die Rechte, auf diese Datei zuzugreifen, werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_ATTACH_FSCREDS gesteuert;
              siehe ptrace(2).

       /proc/[PID]/stat
              Statusinformationen des Prozesses. Wird von ps(1) benutzt. Sie
              werden in der Kernelquelldatei fs/proc/array.c definiert.

              Die Felder werden in dieser Reihenfolge mit ihrem passenden
              scanf(3)-Formatkennzeichnern unten aufgeführt. Ob bestimmte dieser
              Felder gültige Informationen anzeigen, wird von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS |
              PTRACE_MODE_NOAUDIT gesteuert (siehe ptrace(2)). Falls die Prüfung
              den Zugriff verweigert, wird der Feldwert mit 0 angegeben. Die
              betroffenen Felder werden mit der Markierung [PT] gekennzeichnet.

              (1) PID  %d
                     Die Prozesskennung.

              (2) comm  %s
                     Der Name der ausführbaren Datei, in Klammern. Zeichenketten
                     länger als TASK_COMM_LEN (16) Zeichen (einschließlich des
                     abschließenden NULL-Bytes) werden ohne Rückmeldung
                     abgeschnitten. Dies wird angezeigt, unabhängig davon, ob
                     das Programm ausgelagert ist oder nicht.

              (3) state  %c
                     Eines der folgenden Zeichen zur Angabe des
                     Prozesszustandes:

                     R  Laufend

                     S  Schlafend in einem unterbrechbaren Wartezustand

                     D  Wartend in einem nicht unterbrechbaren Plattenschlaf

                     Z  Zombie

                     T  Gestoppt (aufgrund eines Signals) oder (vor Linux
                        2.6.33) Verfolgung gestoppt

                     t  Verfolgung gestoppt (seit Linux 2.6.33)

                     W  Paging (nur vor Linux 2.6.0)

                     X  Getötet (seit Linux 2.6.0)

                     x  Getötet (nur Linux 2.6.33 bis 3.13)

                     K  Wakekill (Linux 2.6.33 to 3.13 only)

                     W  Aufwachend (nur Linux 2.6.33 bis 3.13)

                     P  Geparkt (nur Linux 3.9 bis 3.13)

              (4) ppid  %d
                     Die Prozesskennung (PID) des Elternprozesses dieses
                     Prozesses.

              (5) pgrp  %d
                     Die Prozess-Gruppenkennung des Prozesses.

              (6) session  %d
                     Die Sitzungskennung des Prozesses.

              (7) tty_nr  %d
                     Das steuernde Terminal des Prozesses. (Die
                     Minor-Gerätenummer ist in der Kombination der Bits 31 bis
                     20 und 7 bis 0 enthalten; die Major-Gerätenummer befindet
                     sich in den Bits 15 bis 8.)

              (8) tpgid  %d
                     Die Kennung der Vordergrund-Prozessgruppe des steuernden
                     Terminals des Prozesses.

              (9) flags  %u
                     Das Wort mit den Kernel-Schaltern des Prozesses. Die
                     Bedeutung der Bits finden Sie in den
                     PF_*-#define-Anweisungen in der Linux-Quellcodedatei
                     <linux/sched.h>. Die Details hängen von der Kernel-Version
                     ab.

                     Das Format dieses Feldes war %lu vor Linux 2.6.

              (10) minflt  %lu
                     Die Anzahl geringfügiger Ausnahmebehandlungen des
                     Prozesses, die kein Nachladen einer Speicherseite von
                     Platte erforderlich gemacht haben.

              (11) cminflt  %lu
                     Die Anzahl geringfügiger Ausnahmebehandlungen der
                     Kindprozesse des Prozesses, auf die der Prozess wartete.

              (12) majflt  %lu
                     Die Anzahl wesentlicher Ausnahmebehandlungen des Prozesses,
                     die das Nachladen einer Speicherseite von der Platte
                     erforderten.

              (13) cmajflt  %lu
                     Die Anzahl wesentlicher Ausnahmebehandlungen der
                     Kindprozesse des Prozesses, auf die der Prozess wartete.

              (14) utime  %lu
                     Gesamtzeit, die dieser Prozess im Benutzermodus verbracht
                     hat, gemessen in Uhren-Ticks (dividieren Sie durch
                     sysconf(_SC_CLK_TCK)). Das umfasst Gastzeit, guest_time
                     (aufgewendete Zeit für den Betrieb einer virtuellen CPU,
                     siehe unten), so dass Anwendungen, die das Gastzeit-Feld
                     nicht kennen, diese Zeit in ihren Berechnungen nicht außer
                     acht lassen.

              (15) stime  %lu
                     Gesamtzeit, die dieser Prozess im Kernel-Modus verbracht
                     hat, gemessen in Uhren-Ticks (dividieren Sie durch
                     sysconf(_SC_CLK_TCK)).

              (16) cutime  %ld
                     Gesamtzeit, die abgewartete Kindprozesse im Benutzermodus
                     verbracht haben, gemessen in Uhren-Ticks (dividieren Sie
                     durch sysconf(_SC_CLK_TCK)) (siehe auch times(2)). Das
                     umfasst Gastzeit, guest_time (Laufzeit in einer virtuellen
                     CPU, siehe unten).

              (17) cstime  %ld
                     Gesamtzeit, die abgewartete Kindprozesse im Kernel-Modus
                     verbracht haben, gemessen in Uhren-Ticks (dividieren Sie
                     durch sysconf(_SC_CLK_TCK)).

              (18) priority  %ld
                     (Erklärung für Linux 2.6) Für Prozesse, die im Scheduling
                     eine Echtzeit-Strategie verfolgen (policy weiter unten,
                     siehe sched_setscheduler(2)), ist dies die negierte
                     Scheduling-Priorität minus eins, das heißt, eine Zahl im
                     Bereich von -2 bis -100, entsprechend den
                     Echtzeitprioritäten 1 bis 99. Für Prozesse, deren
                     Scheduling keine Echtzeit-Strategie verfolgt, ist dies der
                     rohe Nice-Wert (setpriority(2)), wie er im Kernel
                     dargestellt ist. Der Kernel speichert Nice-Werte als Zahlen
                     im Bereich 0 (hoch) bis 39 (niedrig), entsprechend des für
                     den Benutzer sichtbaren Nice-Bereichs von -20 bis 19.

                     Vor Linux 2.6 war dies ein skalierter Wert auf Grundlage
                     des vom Scheduler an den Prozess zugewiesenen Gewichts.

              (19) nice  %ld
                     Der Nice-Wert (siehe setpriority(2)), ein Wert im Bereich
                     von 19 (niedrige Priorität) bis -20 (hohe Priorität).

              (20) num_threads  %ld
                     Anzahl von Threads in diesem Prozess (seit Linux 2.6). Vor
                     Kernel 2.6 war dieses Feld mit dem Wert 0 als Platzhalter
                     für ein früher entferntes Feld hartkodiert.

              (21) itrealvalue  %ld
                     Die Zeit (in Jiffies), bevor dem Prozess aufgrund eines
                     Intervall-Timers ein SIGALRM gesendet wird. Seit Kernel
                     2.6.17 wird dieses Feld nicht mehr gewartet und wird mit 0
                     hartkodiert.

              (22) starttime  %llu
                     Die Zeit, zu der der Prozess nach dem Systemstart gestartet
                     wurde. In Kerneln vor Linux 2.6 wurde dieser Wert in
                     Jiffies ausgegeben. Seit Linux 2.6 wird der Wert in
                     Uhren-Ticks ausgedrückt (teilen Sie diese durch
                     sysconf(_SC_CLK_TCK)).

                     Das Format dieses Feldes war %lu vor Linux 2.6.

              (23) vsize  %lu
                     Größe des virtuellen Speichers in Bytes.

              (24) rss  %ld
                     Resident Set Size: Anzahl der Seiten, die der Prozess
                     tatsächlich im Speicher hat. Dabei zählen nur die Seiten
                     von Text, Daten und Stack. Nicht abgerufene oder
                     ausgelagerte Bereiche zählen nicht mit. Dieser Wert ist
                     ungenau, siehe /proc/[PID]/statm weiter unten.

              (25) rsslim  %lu
                     Aktuelle weiche Grenze für die RSS des Prozesses; siehe die
                     Beschreibung von RLIMIT_RSS in getrlimit(2).

              (26) startcode  %lu  [PT]
                     Die Adresse, oberhalb derer Programmtext ausgeführt werden
                     kann.

              (27) endcode  %lu  [PT]
                     Die Adresse, unterhalb derer Programmtext ausgeführt werden
                     kann.

              (28) startstack  %lu  [PT]
                     Die Startadresse des Stacks (also der »Boden«).

              (29) kstkesp  %lu  [PT]
                     Derzeitiger Wert von ESP (Stack Pointer), wie er in der
                     Kernel-Stack-Seite für diesen Prozess steht.

              (30) kstkeip  %lu  [PT]
                     Der aktuelle EIP (Instruction Pointer, Anweisungszeiger).

              (31) signal  %lu
                     Die Bitmap anstehender Signale, angezeigt als Dezimalzahl.
                     Obsolet, weil sie keine Informationen über Echtzeitsignale
                     gibt; verwenden Sie stattdessen /proc/[PID]/status.

              (32) blocked  %lu
                     Die Bitmap blockierter Signale, angezeigt als Dezimalzahl.
                     Obsolet, weil sie keine Informationen über Echtzeitsignale
                     gibt; verwenden Sie stattdessen /proc/[PID]/status.

              (33) sigignore  %lu
                     Die Bitmap ignorierter Signale, angezeigt als Dezimalzahl.
                     Obsolet, weil sie keine Informationen über Echtzeitsignale
                     gibt; verwenden Sie stattdessen /proc/[PID]/status.

              (34) sigcatch  %lu
                     Die Bitmap abgefangener Signale, angezeigt als Dezimalzahl.
                     Obsolet, weil sie keine Informationen über Echtzeitsignale
                     gibt; verwenden Sie stattdessen /proc/[PID]/status.

              (35) wchan  %lu  [PT]
                     Dies ist der »Kanal«, in dem der Prozess wartet. Es ist die
                     Adresse des Orts im Kernel, an dem der Prozess schläft. Der
                     entsprechende symbolische Name kann in /proc/[PID]/wchan
                     gefunden werden.

              (36) nswap  %lu
                     Anzahl ausgelagerter Seiten (nicht gewartet).

              (37) cnswap  %lu
                     Aufaddiertes nswap der Kindprozesse (nicht gewartet).

              (38) exit_signal  %d  (seit Linux 2.1.22)
                     Das an den Elternprozess zu sendende Signal, wenn wir
                     sterben.

              (39) processor  %d  (seit Linux 2.2.8)
                     Nummer der CPU, auf der der Prozess zuletzt lief.

              (40) rt_priority  %u  (seit Linux 2.5.19)
                     Priorität für das Echtzeit-Scheduling, eine Zahl im Bereich
                     von 1 bis 99 für Prozesse, deren Scheduling einer
                     Echtzeit-Strategie folgt oder 0 für andere Prozesse (siehe
                     sched_setscheduler(2)).

              (41) policy  %u  (seit Linux 2.5.19)
                     Scheduling-Regeln (siehe sched_setscheduler(2)). Dekodieren
                     Sie sie mit den SCHED_*-Konstanten in linux/sched.h.

                     Das Format dieses Feldes war %lu vor Linux 2.6.22.

              (42) delayacct_blkio_ticks  %llu  (seit Linux 2.6.18)
                     Kumulierte Block-E/A-Verzögerungen, gemessen in Uhren-Ticks
                     (Hundertstelsekunden).

              (43) guest_time  %lu  (seit Linux 2.6.24)
                     Gastzeit des Prozesses (aufgewendete Zeit für den Betrieb
                     einer virtuellen CPU für ein Gast-Betriebssystem), gemessen
                     in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)).

              (44) cguest_time  %ld  (seit Linux 2.6.24)
                     Gastzeit der Kindprozesse des Prozesses, gemessen in
                     Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)).

              (45) start_data  %lu  (seit Linux 3.3)  [PT]
                     Adresse, oberhalb derer die initialisierten und
                     nicht-initialisierten Programmdaten (BSS) abgelegt werden.

              (46) end_data  %lu  (seit Linux 3.3)  [PT]
                     Adresse, unterhalb derer die initialisierten und
                     nicht-initialisierten Programmdaten (BSS) abgelegt werden.

              (47) start_brk  %lu  (seit Linux 3.3)  [PT]
                     Adresse, oberhalb derer der Heap von Programmen mit brk(2)
                     ausgedehnt werden kann.

              (48) arg_start  %lu  (seit Linux 3.5)  [PT]
                     Adresse, oberhalb derer die Befehlszeilenargumente (argv)
                     abgelegt werden.

              (49) arg_end  %lu  (seit Linux 3.5)  [PT]
                     Adresse, unterhalb derer die Befehlszeilenargumente (argv)
                     abgelegt werden.

              (50) env_start  %lu  (seit Linux 3.5)  [PT]
                     Adresse, oberhalb derer die Programmumgebung abgelegt wird.

              (51) env_end  %lu  (seit Linux 3.5)  [PT]
                     Adresse, unterhalb derer die Programmumgebung abgelegt
                     wird.

              (52) exit_code  %d  (seit Linux 3.5)  [PT]
                     Der Exit-Status des Threads in dem durch waitpid(2)
                     berichteten Format.

       /proc/[PID]/statm
              Informiert über den Speicherverbrauch, gemessen in Seiten. Die
              Spalten bedeuten:

                  Größe         (1) Gesamtgröße des Programms
                                (dasselbe wie VmSize in /proc/[PID]/status)
                  im Speicher   (2) Größe des Resident Set
                                (dasselbe wie VmRSS in /proc/[PID]/status)
                  gemeinsam     (3) Anzahl von residenten (d.h. dateigestützten) gemeinsamen
                                Seiten
                                (ungenau; dasselbe wie RssFile+RssShmem in
                                /proc/[PID]/status)
                  Text          (4) Text (Code)
                  Bibliothek    (5) Bibliothek (seit Linux 2.6 nicht verwendet, immer 0)
                  Daten         (6) Daten + Stack
                  geändert      (7) geänderte Seiten (dirty) (seit Linux 2.6
                                nicht verwendet, immer 0)

              Einige dieser Werte sind aufgrund kernelinterner
              Skalierungsoptimierung ungenau. Falls genaue Werte benötigt
              werden, verwenden Sie stattdessen /proc/[PID]/smaps oder
              /proc/[PID]/smaps_rollup. Diese sind deutlich langsamer, stellten
              aber genaue, detaillierte Informationen bereit.

       /proc/[PID]/status
              Stellt viele der Informationen in /proc/[PID]/stat und
              /proc/[PID]/statm in einem Format bereit, das für Menschen
              einfacher auszuwerten ist. Ein Beispiel:

                  $ cat /proc/$$/status
                  Name:   bash
                  Umask:  0022
                  State:  S (sleeping)
                  Tgid:   17248
                  Ngid:   0
                  Pid:    17248
                  PPid:   17200
                  TracerPid:      0
                  Uid:    1000    1000    1000    1000
                  Gid:    100     100     100     100
                  FDSize: 256
                  Groups: 16 33 100
                  NStgid: 17248
                  NSpid:  17248
                  NSpgid: 17248
                  NSsid:  17200
                  VmPeak:     131168 kB
                  VmSize:     131168 kB
                  VmLck:           0 kB
                  VmPin:           0 kB
                  VmHWM:       13484 kB
                  VmRSS:       13484 kB
                  RssAnon:     10264 kB
                  RssFile:      3220 kB
                  RssShmem:        0 kB
                  VmData:      10332 kB
                  VmStk:         136 kB
                  VmExe:         992 kB
                  VmLib:        2104 kB
                  VmPTE:          76 kB
                  VmPMD:          12 kB
                  VmSwap:          0 kB
                  HugetlbPages:          0 kB        # 4.4
                  CoreDumping:   0                       # 4.15
                  Threads:        1
                  SigQ:   0/3067
                  SigPnd: 0000000000000000
                  ShdPnd: 0000000000000000
                  SigBlk: 0000000000010000
                  SigIgn: 0000000000384004
                  SigCgt: 000000004b813efb
                  CapInh: 0000000000000000
                  CapPrm: 0000000000000000
                  CapEff: 0000000000000000
                  CapBnd: ffffffffffffffff
                  CapAmb:   0000000000000000
                  NoNewPrivs:     0
                  Seccomp:        0
                  Speculation_Store_Bypass:       vulnerable
                  Cpus_allowed:   00000001
                  Cpus_allowed_list:      0
                  Mems_allowed:   1
                  Mems_allowed_list:      0
                  voluntary_ctxt_switches:        150
                  nonvoluntary_ctxt_switches:     545

              Die Bedeutung der Felder im Einzelnen:

              Name   Der von diesem Prozess ausgeführte Befehl. Zeichenketten
                     länger als TASK_COMM_LEN (16) Zeichen (einschließlich des
                     abschließenden NULL-Bytes) werden ohne Rückmeldung
                     abgeschnitten.

              Umask  Die Umask des Prozesses, oktal mit führender Null, siehe
                     umask(2). (Seit Linux 4.7.)

              State  Aktueller Prozesszustand; einer der Werte »R (running)«, »S
                     (sleeping)«, »D (disk sleep)«, »T (stopped)«, »t (tracing
                     stop)«, »Z (zombie)« oder »X (dead)«.

              Tgid   Gruppenkennung des Threads (d.h. die Prozesskennung).

              Ngid   NUMA-Gruppenkennung (0 falls keine; seit Linux 3.13).

              Pid    Thread-Kennung (siehe gettid(2)).

              PPid   PID des Elternprozesses.

              TracerPid
                     PID des Prozesses, der diesen Prozess beobachtet (0 ohne
                     Beobachtung).

              Uid, Gid
                     reale, effektive, gespeicherte sowie Dateisystem-UIDs
                     (GIDs).

              FDSize Anzahl der aktuell bereitgestellten Dateideskriptor-Slots.

              Groups Ergänzende Gruppenliste.

              NStgid Thread-Gruppenkennung (d.h. PID) in jedem der
                     PID-Namensräume, in denen [PID] ein Mitglied ist. Der ganz
                     linke Eintrag zeigt den Wert in Bezug auf den
                     PID-Namensraum des Prozesses, der dieses Procfs eingehängt
                     hat (oder des Wurzelnamensraums, falls vom Kernel
                     eingehängt), gefolgt von den Werten nachfolgend
                     geschachtelter innerer Namensräume. (Seit Linux 4.1)

              NSpid  Thread-Kennung in jedem der PID-Namensräume, in denen [PID]
                     ein Mitglied ist. Die Felder sind wie bei NStgid sortiert.
                     (Seit Linux 4.1.)

              NSpgid Prozessgruppenkennung in jedem der PID-Namensräume, in
                     denen [PID] ein Mitglied ist. Die Felder sind wie bei
                     NStgid sortiert. (Seit Linux 4.1.)

              NSsid  Sitzungskennung der
                     Nachkommens-Namensraum-Sitzungs-Kennungs-Hierarchie, in
                     jedem der PID-Namensraumen, in denen [PID] ein Mitglied
                     ist. Die Felder sind wie bei NStgid sortiert. (Seit Linux
                     4.1.)

              VmPeak Maximalwert des genutzten virtuellen Speichers.

              VmSize Größe des virtuellen Speichers

              VmLck  Größe des gesperrten Speichers (siehe mlock(2)).

              VmPin  Größe des befestigten Speichers (seit Linux 3.2). Diese
                     Seiten können nicht verschoben werden, da etwas den
                     direkten Zugriff auf physischen Speicher benötigt.

              VmHWM  Resident Set Size (»Hochwassermarke«). Dieser Wert ist
                     ungenau; siehe /proc/[PID]/statm weiter oben.

              VmRSS  Resident set size.  Beachten Sie, dass dieser Wert die
                     Summe aus RssAnon, RssFile und RssShmem ist. Dieser Wert
                     ist ungenau; siehe /proc/[PID]/statm weiter oben.

              RssAnon
                     Größe des residenten anonymen Speichers. (seit Linux 4.5).
                     Dieser Wert ist ungenau; siehe /proc/[PID]/statm weiter
                     oben.

              RssFile
                     Größe von residenten Datei-Mappings. (seit Linux 4.5).
                     Dieser Wert ist ungenau; siehe /proc/[PID]/statm weiter
                     oben.

              RssShmem
                     Größe des residenten gemeinsamen Speichers (einschließlich
                     System-V-gemeinsamer Speicher, Mappings von tmpfs(5) und
                     gemeinsame anonyme Mappings). (seit Linux 4.5).

              VmData, VmStk, VmExe
                     Größe der Daten-, Stapelspeicher- und Textsegmente. Dieser
                     Wert ist ungenau; siehe /proc/[PID]/statm weiter oben.

              VmLib  Code-Größe von dynamischen Bibliotheken.

              VmPTE  Größe der Einträge in der Page Table (seit Linux 2.6.10).

              VmPMD  Größe der Page Tables zweiter Stufe (in Linux 4.0
                     hinzugefügt, entfernt in Linux 4.15).

              VmSwap VmSwap: ausgelagerte virtuelle Speichergröße durch anonyme
                     private Pages; Shmem-Auslagerungsverwendung ist nicht
                     enthalten (seit Linux 2.6.34). Dieser Wert ist ungenau,
                     siehe /proc/[PID]/statm weiter oben.

              HugetlbPages
                     Größe der Hugetlb-Speicheranteile (seit Linux 4.4).

              CoreDumping
                     Enthält den Wert 1, falls der Prozess derzeit einen
                     Speicherauszug durchführt und 0, falls nicht (seit Linux
                     4.15). Diese Information kann von einem Überwachungsprozess
                     verwandt werden, um das Töten eines Prozesses zu vermeiden,
                     der derzeit einen Speicherauszug durchführt, wodurch eine
                     beschädigte Speicherauszugsdatei (»core dump«) vermieden
                     wird.

              Threads
                     Anzahl der Threads im Prozess, zu dem dieser Thread gehört.

              SigQ   Dieses Feld enthält zwei durch Schrägstriche getrennte
                     Zahlen, die sich auf Signale in der Warteschlange für die
                     reale Benutzerkennung des Prozesses beziehen. Die erste
                     davon ist die Anzahl der derzeit in der Warteschlange
                     befindlichen Signale für diese reale Benutzerkennung und
                     die zweite ist die Ressourcenbegrenzung für die Anzahl
                     wartender Signale für diesen Prozess (siehe die
                     Beschreibung von RLIMIT_SIGPENDING in getrlimit(2)).

              SigPnd, ShdPnd
                     Maske (hexadezimal ausgedrückt) der insgesamt für Thread
                     und Prozess anhängende Signale (siehe pthreads(7) und
                     signal(7)).

              SigBlk, SigIgn, SigCgt
                     Masken (hexadezimal ausgedrückt) für die Anzeige
                     blockierter, ignorierter und abgefangener Signale (siehe
                     signal(7)).

              CapInh, CapPrm, CapEff
                     In den vererbbaren, erlaubten und effektiven
                     Capability-Mengen aktivierte Masken (hexadezimal
                     ausgedrückt) (siehe capabilities(7)).

              CapBnd Capability-Begrenzungsmenge, hexadezimal ausgedrückt (seit
                     Linux 2.6.26, siehe capabilities(7)).

              CapAmb Umgebungs-Capability-Menge, hexadezimal ausgedrückt (seit
                     Linux 4.3, siehe capabilities(7)).

              NoNewPrivs
                     Wert des Bits no_new_privs (seit Linux 4.10, siehe
                     prctl(2)).

              Seccomp
                     Seccomp-Modus des Prozesses (seit Linux 3.8, siehe
                     seccomp(2)). 0 bedeutet SECCOMP_MODE_DISABLED; 1 bedeutet
                     SECCOMP_MODE_STRICT; 2 bedeutet SECCOMP_MODE_FILTER. Dieses
                     Feld wird nur bereitgestellt, falls der Kernel mit der
                     aktivierten Kernelkonfigurationsoption CONFIG_SECCOMP
                     gebaut wurde.

              Speculation_Store_Bypass
                     Zustand der Abschwächung des Spekulationsdefekts (seit
                     Linux 4.17, siehe prctl(2)).

              Cpus_allowed
                     Hexadezimale Maske von CPUs, auf denen der Prozess laufen
                     kann (seit Linux 2.6.24, siehe cpuset(7)).

              Cpus_allowed_list
                     Dasselbe wie das vorhergehende, aber in »Listenformat«
                     (seit Linux 2.6.26, siehe cpuset(7)).

              Mems_allowed
                     Maske von für diesen Prozess erlaubten Speicherknoten (seit
                     Linux 2.6.24, siehe cpuset(7)).

              Mems_allowed_list
                     Dasselbe wie das vorhergehende, aber in »Listenformat«
                     (seit Linux 2.6.26, siehe cpuset(7)).

              voluntary_ctxt_switches, nonvoluntary_ctxt_switches
                     Anzahl der freiwilligen und der unfreiwilligen
                     Kontextwechsel (seit Linux 2.6.23).

       /proc/[PID]/syscall (seit Linux 2.6.27)
              Diese Datei legt die Systemaufrufnummer und -argumentenregister
              für den derzeit durch den Prozess ausgeführten Systemaufruf offen.
              Es folgen die Werte des Stack-Zeigers und der
              Programmzählerregister. Die Werte aller sechs Argumentenregister
              werden offengelegt, obwohl die meisten Systemaufrufe weniger
              Register verwenden.

              Falls der Prozess blockiert aber nicht in einem Systemaufruf ist,
              dann zeigt die Datei -1 an der Stelle der Systemaufrufnummer an,
              gefolgt von nur den Werten des Stack-Zeigers und des
              Programmzählers. Falls der Prozess nicht blockiert ist, dann
              enthält die Datei nur die Zeichenkette »running«.

              Diese Datei ist nur vorhanden, falls der Kernel mit
              CONFIG_HAVE_ARCH_TRACEHOOK konfiguriert wurde.

              Die Rechte, auf diese Datei zuzugreifen, werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_ATTACH_FSCREDS gesteuert;
              siehe ptrace(2).

       /proc/[PID]/task (seit Linux 2.6.0)
              Dieses Verzeichnis enthält ein Unterverzeichnis für jeden Thread
              in dem Prozess. Der Name jedes Unterverzeichnisses ist die
              numerische Thread-Kennung ([TID]) des Threads (siehe gettid(2)).

              Innerhalb jedes dieser Unterverzeichnisse gibt es eine Reihe von
              Dateien mit gleichem Namen und Inhalt wie unter den
              /proc/[PID]-Verzeichnissen. Für Attribute, die von allen Threads
              gemeinsam verwendet werden, sind die Inhalte für jede der Dateien
              unter den /task/[TID]-Unterverzeichnissen die gleichen wie in der
              entsprechenden Datei im Elternverzeichnis /proc/[PID] (z.B. in
              einem Multithread-Prozess werden task/[TID]/cwd-Dateien den
              gleichen Wert wie die Datei task/pid/cwd im Elternverzeichnis
              haben, da alle Threads in einem Prozess sich ein
              Arbeitsverzeichnis teilen). Für Attribute, die für jeden Thread
              verschieden sind, können die entsprechenden Dateien unter
              task/[TID] unterschiedliche Werte annehmen (z.B. können
              verschiedene Felder in jeder der task/[TID]/status-Dateien für
              jeden Thread unterschiedlich sein) oder sie könnten in /proc/[PID]
              überhaupt nicht existieren.

              In Multithread-Prozessen sind die Inhalte des Verzeichnisses
              /proc/[PID]/task überhaupt nicht verfügbar, falls der Haupt-Thread
              bereits beendet wurde (typischerweise durch den Aufruf von
              pthread_exit(3)).

       /proc/[PID]/task/[TID]/children (seit Linux 3.5)
              Eine durch Leerzeichen getrennte Liste von Kindprozessen dieses
              Prozesses. Jeder Kindprozess wird durch seine TID dargestellt.

              Diese Option ist für die Verwendung durch das
              Prüfpunktwiederherstellungssystem (Checkpoint/Restore In
              Userspace/CRIU) gedacht und stellt nur verlässlich eine Liste von
              Kindprozessen bereit, falls alle Kindprozesse gestoppt oder
              eingefroren sind. Sie funktioniert nicht richtig, falls
              Kindprozesse des Ziel-Tasks während des Lesens der Datei beendet
              werden. Kindprozesse, die enden, können dazu führen, dass nicht
              endende Kindprozesse in der Liste weggelassen werden. Dies macht
              diese Schnittstelle sogar noch unzuverlässiger als herkömmliche
              PID-basierte Herangehensweisen, wenn der untersuchte Task und
              seine Kindprozesse nicht eingefroren sind und der meiste Code
              sollte wahrscheinlich diese Schnittstelle nicht benutzen.

              Bis Linux 4.2 wurde die Existenz dieser Datei durch die
              Kernelkonfigurationsoption CONFIG_CHECKPOINT_RESTORE gesteuert.
              Seit Linux 4.2 wird sie durch die Option CONFIG_PROC_CHILDREN
              gesteuert.

       /proc/[PID]/timers (seit Linux 3.10)
              Eine Liste der POSIX-Timer für diesen Prozess. Jeder Timer wird
              mit einer Zeile aufgeführt, die mit der Zeichenkette »ID:«
              beginnt, beispielsweise:

                  ID: 1
                  signal: 60/00007fff86e452a8
                  notify: signal/pid.2634
                  ClockID: 0
                  ID: 0
                  signal: 60/00007fff86e452a8
                  notify: signal/pid.2634
                  ClockID: 1

              Die gezeigten Zeilen für jeden Timer haben die folgenden
              Bedeutungen:

              ID     Die Kennung für diesen Timer. Dies ist nicht mit der von
                     timer_create(2) zurückgelieferten Timer-Kennung identisch.
                     Stattdessen ist es die gleiche Kernel-interne Kennung, die
                     mittels des Feldes si_timerid der Struktur siginfo_t
                     verfügbar ist (siehe sigaction(2)).

              signal Dies ist die Signalnummer, die dieser Timer zur
                     Auslieferung von Benachrichtigungen verwendet. Ihr folgt
                     ein Schrägstrich und dann der dem Signal-Handler übergebene
                     Wert sigev_value. Gültig nur für Timer, die mittels Signal
                     benachrichtigen.

              notify Der Teil vor dem Schrägstrich legt den Mechanismus fest,
                     den dieser Timer zur Auslieferung von Nachrichten
                     verwendet. Er ist entweder »thread«, »signal« oder »none«.
                     Direkt nach dem Schrägstrich ist entweder die Zeichenkette
                     »tid« für Timer mit SIGEV_THREAD_ID-Benachrichtigungen oder
                     »pid« für Timer, die mittels andere Mechanismen
                     benachrichtigen. Nach dem ».« folgt die PID des Prozesses
                     (oder der Kernel-Thread-Kennung des Threads), der ein
                     Signal geliefert bekommt, falls der Timer
                     Benachrichtigungen über ein Signal ausliefert.

              ClockID
                     Dieses Feld identifiziert die Uhr, die der Timer für die
                     Zeitmessung verwendet. Für die meisten Uhren ist dies eine
                     Zahl, die auf einen der Konstanten der Anwendungsebene
                     CLOCK_* passt, die mittels <time.h> offengelegt werden.
                     CLOCK_PROCESS_CPUTIME_ID-Timer zeigen mit einem Wert -6 in
                     diesem Feld. CLOCK_THREAD_CPUTIME_ID-Timer zeigen mit einem
                     Wert -2 in diesem Feld.

              Diese Datei ist nur vorhanden, falls der Kernel mit
              CONFIG_CHECKPOINT_RESTORE konfiguriert wurde.

       /proc/[PID]/timerslack_ns (seit Linux 4.6)
              Diese Datei legt den »derzeitigen« Spielraum des Timers
              ausgedrückt in Nanosekunden offen. Diese Datei ist schreibbar,
              wodurch das Ändern des Spielraums des Timers möglich ist. Wird 0
              in diese Datei geschrieben, wird der Spielraum auf den
              »Standard«-Spielraum des Timers zurückgesetzt. Weitere
              Einzelheiten finden Sie in der Besprechung von PR_SET_TIMERSLACK
              in prctl(2).

              Ursprünglich wurde die Zugriffsberechtigung für diese Datei über
              eine Ptrace-Zugriffsmodusprüfung PTRACE_MODE_ATTACH_FSCREDS
              geregelt (siehe ptrace(2)). Allerdings wurde dies nachfolgend als
              zu strenge Anforderung erachtet (und es hatte den Seiteneffekt,
              dass die Notwendigkeit für einen Prozess, die Capability
              CAP_SYS_PTRACE zu haben, auch dazu führte, dass er den Speicher
              jedes Prozesses lesen und verändern konnte). Daher wird seit Linux
              4.9 nur die (schwächere) Capability CAP_SYS_NICE für den Zugriff
              auf diese Datei benötigt.

       /proc/[PID]/uid_map, /proc/[PID]/gid_map (seit Linux 3.5)
              Siehe user_namespaces(7).

       /proc/[PID]/wchan (seit Linux 2.6.0)
              Der symbolische Name, der dem Ort im Kernel entspricht, an dem der
              Prozess schläft.

              Die Zugriffsberechtigungen dieser Datei werden von einer
              Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS geregelt;
              siehe ptrace(2).

       /proc/[TID]
              Dies ist ein numerisches Unterverzeichnis für jeden der laufenden
              Threads, der nicht Thread-Gruppenleiter ist (d.h. einem Thread,
              dessen Thread-Kennung nicht zu der Prozesskennung identisch ist).
              Das Unterverzeichnis ist nach der Thread-Kennung benannt. Jedes
              dieser Unterverzeichnisse enthält Dateien und Unterverzeichnisse,
              die Informationen über den Thread mit der Thread-Kennung tid
              offenlegen. Die Inhalte dieser Verzeichnisse sind identisch zu den
              Inhalten der entsprechenden /proc/[pid]/task/[TID]-Verzeichnisse.

              Die Unterverzeichnisse /proc/[TID] sind beim Durchlauf durch /proc
              mit getdents(2) nicht sichtbar (und daher nicht sichtbar, wenn
              ls(1) zur Anzeige der Inhalte von /proc verwandt wird). Allerdings
              sind die Pfadnamen dieser Verzeichnisse sichtbar (d.h als
              Argumente benutzbar in) Systemaufrufen, die auf diesen Pfadnamen
              arbeiten.

       /proc/apm
              Version von »advanced power management« und Informationen zur
              Batterie, wenn bei der Kompilierung des Kernels CONFIG_APM
              definiert wird.

       /proc/buddyinfo
              Diese Datei enthält Informationen, die zur Diagnose von
              Speicherfragmentierungsproblemen verwandt werden. Jede Zeile
              beginnt mit der Kennzeichnung des Knotens und dem Name der Zone,
              die zusammen einen Speicherbereich identifizieren. Dies wird von
              der Anzahl der verfügbaren Stücke (Chunks) einer bestimmten
              Ordnung, in die diese Zonen geteilt sind, gefolgt. Die Größe in
              Bytes einer bestimmten Ordnung wird von der folgenden Formel
              bestimmt:

                  (2^Ordnung) * PAGE_SIZE

              Der binäre Buddy-Speicherverwaltungsalgorithmus innerhalb des
              Kernels wird ein Stück in zwei Stücke einer geringeren Ordnung
              (daher mit der halben Größe) unterteilen oder zwei angrenzende
              Stück in ein größeres Stück höherer Ordnung (daher mit der
              doppelten Größe) kombinieren, um Reservierungsanfragen zu erfüllen
              und um Speicherfragmentierung etwas entgegenzusetzen. Die Ordnung
              entspricht der Spaltennummer, wenn mit dem Zählen bei Null
              begonnen wird.

              Auf einem x86-64-System zum Beispiel:
         Node 0, zone     DMA     1    1    1    0    2    1    1    0    1    1    3
         Node 0, zone   DMA32    65   47    4   81   52   28   13   10    5    1  404
         Node 0, zone  Normal   216   55  189  101   84   38   37   27    5    3  587

              In diesem Beispiel gibt es einen Knoten, der drei Zonen enthält
              und es gibt 11 verschiedene Stückgrößen. Falls die Seitengröße 4
              Kilobyte beträgt, dann hat die erste Zone, genannt DMA, (auf X86
              die ersten 16 Megabyte an Speicher) ein Stück von 4 Kilobyte
              (Ordnung 0) verfügbar und hat 3 Stücke von 4 Megabyte (Ordnung 10)
              verfügbar.

              Falls der Speicher stark fragmentiert ist, werden die Zähler für
              Stücke höherer Ordnung Null sein und Zuweisungen von großen,
              zusammenhängenden Bereichen fehlschlagen.

              Weitere Informationen über die Zonen können in /proc/zoneinfo
              gefunden werden.

       /proc/bus
              Enthält Unterverzeichnisse für installierte Busse.

       /proc/bus/pccard
              Unterverzeichnis für PCMCIA-Geräte, wenn bei der Kompilierung des
              Kernels CONFIG_PCMCIA gesetzt wird.

       /proc/bus/pccard/drivers

       /proc/bus/pci
              Enthält diverse Bus-Unterverzeichnisse und Pseudodateien mit
              Informationen zu PCI-Bussen, installierten Geräten und
              Gerätetreibern. Einige dieser Dateien sind nicht in ASCII codiert.

       /proc/bus/pci/devices
              Informationen über PCI-Geräte. Auf diese kann mittels lspci(8) und
              setpci(8) zugegriffen werden.

       /proc/cgroups (seit Linux 2.6.24)
              siehe cgroups(7)

       /proc/cmdline
              Dem Kernel beim Startvorgang übergebene Argumente. Oft geschieht
              das über einen Bootmanager wie lilo(8) oder grub(8).

       /proc/config.gz (seit Linux 2.6)
              Diese Datei macht die Konfigurationsoptionen verfügbar, die für
              den Bau des aktuell laufenden Kernels verwendet wurden. Das Format
              ist das gleiche wie in der Datei .config, die bei der
              Konfiguration des Kernels (mittels make xconfig, make config oder
              ähnlichem) erzeugt wird. Der Inhalt der Datei ist komprimiert; er
              kann mittels zcat(1) und zgrep(1) angezeigt und durchsucht werden.
              Solange keine Änderungen in der folgenden Datei vorgenommen
              wurden, sind die Inhalte von /proc/config.gz die gleichen, die wie
              folgt gewonnen werden können:

                  cat /lib/modules/$(uname -r)/build/.config

              /proc/config.gz wird nur bereitgestellt, wenn der Kernel mit
              CONFIG_IKCONFIG_PROC konfiguriert wird.

       /proc/crypto
              Eine Liste der durch das Kernel-Krypto-API bereitgestellten
              Chiffren. Für Details schauen Sie in die Kerneldokumentation zum
              Thema Linux Kernel Crypto API, die unterhalb des
              Kernelquellbaumverzeichnisses Documentation/crypto/ (oder
              Documentation/DocBook vor 4.10) verfügbar ist. (Die Dokumentation
              kann mit einem Befehl wie make htmldocs im Wurzelverzeichnis des
              Kernelquellbaums gebaut werden.)

       /proc/cpuinfo
              Dies ist eine Sammlung von Informationen, die von der CPU und der
              Systemarchitektur abhängen. Die Liste sieht für jede unterstützte
              Architektur anders aus. Die einzigen Einträge, die man überall
              antrifft, sind processor, welcher die Nummer der CPU anzeigt und
              BogoMIPS, eine Systemkonstante, die während der
              Kernel-Initialisierung errechnet wird. SMP-Maschinen haben
              Informationen für jede CPU. Der Befehl lscpu(1) sammelt seine
              Informationen aus dieser Datei.

       /proc/devices
              Eine Textliste der Major-Gerätenummern und Gerätegruppen. Kann von
              MAKEDEV-Skripten genutzt werden, um mit dem Kernel überein zu
              stimmen.

       /proc/diskstats (seit Linux 2.5.69)
              Diese Datei enthält Platten-E/A-Statistiken für jedes
              Plattengerät. Die Linux-Kernel-Quelldatei
              Documentation/iostats.txt gibt weitere Informationen.

       /proc/dma
              Das ist eine Liste von registrierten ISA-DMA-Kanälen, die zur Zeit
              benutzt werden (DMA: Direct Memory Access).

       /proc/driver
              Leeres Unterverzeichnis.

       /proc/execdomains
              Liste der Ausführungsdomänen (ABI-Personalitäten).

       /proc/fb
              Information zum Bildspeicher (frame buffer), wenn bei der
              Kompilierung des Kernels CONFIG_FB definiert wird.

       /proc/filesystems
              Eine Auflistung der Dateisysteme, die vom Kernel unterstützt
              werden, nämlich Dateisysteme, die in den Kernel kompiliert wurden
              oder deren Kernel-Module derzeit geladen sind (siehe auch
              filesystems(5)). Wenn ein Dateisystem mit »nodev« gekennzeichnet
              ist, bedeutet dies, dass kein Block-Gerät eingehängt werden muss
              (z.B. virtuelles Dateisystem, Netzwerk-Dateisystem).

              Im Übrigen kann diese Datei von mount(8) verwendet werden, wenn
              kein Dateisystem angegeben wurde und es den Typ des Dateisystems
              nicht bestimmen konnte. Dann werden in dieser Datei enthaltene
              Dateisysteme ausprobiert (ausgenommen diejenigen, die mit »nodev«
              gekennzeichnet sind).

       /proc/fs
              Enthält Unterverzeichnisse, die wiederum Dateien mit Informationen
              über (bestimmte) eingehängte Dateisysteme enthalten.

       /proc/ide
              Dieses Verzeichnis gibt es auf Systemen mit dem IDE-Bus. Es gibt
              Verzeichnisse für jeden IDE-Kanal und jedes zugeordnete Gerät. Zu
              den Dateien gehören:

                  cache              Puffergröße in KB
                  capacity           Anzahl der Sektoren
                  driver             Version des Treibers
                  geometry           physikalische und logische Geometrie
                  identify           hexadezimal
                  media              Medientyp
                  model              Modellnummer des Herstellers
                  settings           Laufwerkeinstellungen
                  smart_thresholds   IDE-Plattenverwaltungsschwellwerte (hexadezimal)
                  smart_values       IDE-Plattenverwaltungswerte (hexadezimal)

              Das Werkzeug hdparm(8) ermöglicht einen angenehmen Zugriff auf
              diese Informationen.

       /proc/interrupts
              Diese Datei wurde verwendet, um die Anzahl der Interrupts pro CPU
              pro E/A-Gerät aufzunehmen. Seit Linux 2.6.24 werden außerdem,
              zumindest für die Architekturen i386 und x86-64, systeminterne
              Interrupts (das sind nicht unmittelbar an ein Gerät gebundene) wie
              beispielsweise NMI (nicht maskierbarer Interrupt), LOC (lokaler
              Timer-Interrupt), und für SMP-Systeme TLB (TLB Flush Interrupt),
              RES (Interrupt für Änderungen im Scheduling), CAL (Remote Function
              Call Interrupt) und möglicherweise andere mit eingetragen. Sie ist
              in ASCII codiert und sehr leicht zu lesen.

       /proc/iomem
              E/A-Speicher-Map in Linux 2.4

       /proc/ioports
              Das ist eine Liste der derzeit registrierten und benutzten
              Ein-/Ausgabe-Port-Regionen.

       /proc/kallsyms (seit Linux 2.5.71)
              Hier stehen die vom Kernel exportierten Symboldefinitionen, die
              von modules(X)-Tools benutzt werden, um ladbare Module dynamisch
              zu linken und zu binden. Bis einschließlich Linux 2.5.47 gab es
              eine ähnliche Datei ksyms mit leicht abweichender Syntax.

       /proc/kcore
              Diese Datei repräsentiert den physikalischen Speicher des Systems
              und hat das Elf-core-Dateiformat. Mit dieser Pseudodatei und einem
              Kernel mit Debug-Symbolen (/usr/src/linux/vmlinux) kann mit GDB
              der aktuelle Zustand der Kernel-Datenstrukturen untersucht werden.

              Die Gesamtgröße dieser Datei ist die Größe des physischen
              Speichers (RAM) plus 4 KiB.

       /proc/keys (seit Linux 2.6.10)
              Siehe keyrings(7).

       /proc/key-users (seit Linux 2.6.10)
              Siehe keyrings(7).

       /proc/kmsg
              Diese Datei kann anstelle des Systemaufrufs syslog(2) benutzt
              werden, um Meldungen des Kernels zu lesen. Ein Prozess muss
              Superuser-Privilegien haben, um diese Datei zu lesen und nur ein
              einziger Prozess sollte dies tun. Die Datei sollte nicht
              ausgelesen werden, wenn ein Syslog-Prozess läuft, der den
              Systemaufruf syslog(2) zur Protokollierung benutzt.

              Die Informationen in dieser Datei können mit dmesg(1) dargestellt
              werden.

       /proc/kpagecgroup (seit Linux 4.3)
              Diese Datei enthält 64-Bit-Inode-Nummern der Speicher-Cgroup, auf
              die jede Seite berechnet wird. Sie ist durch die
              Seiten-Frame-Nummer indiziert (siehe die Erörterung von
              /proc/[PID]/pagemap).

              Die Datei /proc//proc/kpagecgroup ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_MEMCG aktiviert ist.

       /proc/kpagecount (seit Linux 2.6.25)
              Diese Datei enthält einen 64-Bit-Zähler der Anzahl, die jede
              physische Seiten-Frame gemappt ist, indiziert durch die
              Seiten-Frame-Nummer (siehe die Beschreibung von
              /proc/[PID]/pagemap).

              Die Datei /proc/kpagecount ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_PROC_PAGE_MONITOR aktiviert
              ist.

       /proc/kpageflags (seit Linux 2.6.25)
              Diese Datei enthält 64-Bit-Masken, die jedem physischen
              Seiten-Frame entsprechen. Sie ist durch die Seiten-Frame-Nummer
              indiziert (siehe die Erörterung von /proc/[PID]/pagemap). Die Bits
              sind wie folgt:

                   0 - KPF_LOCKED
                   1 - KPF_ERROR
                   2 - KPF_REFERENCED
                   3 - KPF_UPTODATE
                   4 - KPF_DIRTY
                   5 - KPF_LRU
                   6 - KPF_ACTIVE
                   7 - KPF_SLAB
                   8 - KPF_WRITEBACK
                   9 - KPF_RECLAIM
                  10 - KPF_BUDDY
                  11 - KPF_MMAP           (seit Linux 2.6.31)
                  12 - KPF_ANON           (seit Linux 2.6.31)
                  13 - KPF_SWAPCACHE      (seit Linux 2.6.31)
                  14 - KPF_SWAPBACKED     (seit Linux 2.6.31)
                  15 - KPF_COMPOUND_HEAD  (seit Linux 2.6.31)
                  16 - KPF_COMPOUND_TAIL  (seit Linux 2.6.31)
                  17 - KPF_HUGE           (seit Linux 2.6.31)
                  18 - KPF_UNEVICTABLE    (seit Linux 2.6.31)
                  19 - KPF_HWPOISON       (seit Linux 2.6.31)
                  20 - KPF_NOPAGE         (seit Linux 2.6.31)
                  21 - KPF_KSM            (seit Linux 2.6.32)
                  22 - KPF_THP            (seit Linux 3.4)
                  23 - KPF_BALLOON        (seit Linux 3.18)
                  24 - KPF_ZERO_PAGE      (seit Linux 4.0)
                  25 - KPF_IDLE           (seit Linux 4.3)

              Für weitere Details zur Bedeutung dieser Bits lesen Sie die
              Kernelquelldatei Documentation/admin-guide/mm/pagemap.rst. Vor
              Kernel 2.6.29 lieferten KPF_WRITEBACK, KPF_RECLAIM, KPF_BUDDY und
              KPF_LOCKED nicht die korrekten Werte.

              Die Datei /proc/kpageflags ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_PROC_PAGE_MONITOR aktiviert
              ist.

       /proc/ksyms (Linux 1.1.23…2.5.47)
              Siehe /proc/kallsyms.

       /proc/loadavg
              Die ersten drei Felder in dieser Datei geben die durchschnittliche
              Anzahl von Jobs an, die in der Run-Warteschlange sind (Status R)
              oder auf Platten-E/A warten (Status D), gemittelt über 1, 5, und
              15 Minuten. Das sind die gleichen Angaben für die
              durchschnittliche Belastung, wie sie von uptime(1) und anderen
              Programmen angegeben werden. Das vierte Feld besteht aus zwei
              durch einen Schrägstrich (/) getrennten Zahlen. Die erste davon
              ist die Anzahl von derzeit ausführbaren
              Kernel-Scheduling-Einheiten (Prozesse, Threads). Der Wert nach dem
              Schrägstrich ist die Anzahl der Kernel-Scheduling-Einheiten, die
              aktuell auf dem System existieren. Das fünfte Feld ist die PID des
              Prozesses, der zuletzt auf dem System erzeugt wurde.

       /proc/locks
              Diese Datei zeigt aktuelle Datei-Sperren (flock(2) und fcntl(2))
              und -Ausleihen (fcntl(2)) an.

              Ein Beispiel für den Inhalt in dieser Datei wird nachfolgend
              gezeigt:

                  1: POSIX  ADVISORY  READ  5433 08:01:7864448 128 128
                  2: FLOCK  ADVISORY  WRITE 2001 08:01:7864554 0 EOF
                  3: FLOCK  ADVISORY  WRITE 1568 00:2f:32388 0 EOF
                  4: POSIX  ADVISORY  WRITE 699 00:16:28457 0 EOF
                  5: POSIX  ADVISORY  WRITE 764 00:16:21448 0 0
                  6: POSIX  ADVISORY  READ  3548 08:01:7867240 1 1
                  7: POSIX  ADVISORY  READ  3548 08:01:7865567 1826 2335
                  8: OFDLCK ADVISORY  WRITE -1 08:01:8713209 128 191

              Die Bedeutung der Felder in jeder Zeile im Einzelnen:

              (1) Die ordinale Position der Sperre in der Liste.

              (2) Der Sperrtyp. Folgende Werte können hier u.A. erscheinen:

                  FLOCK  Dies ist eine mittels flock(2) erstellte
                         BSD-Sperrdatei.

                  OFDLCK Dies ist eine mittels fcntl(2) erstellte offene
                         Dateideskriptorsperre (OFD).

                  POSIX  Dies ist eine mittels fcntl(2) erstellte
                         POSIX-Byte-Bereichssperre.

              (3) Unter den hier auftretenden Zeichenketten sind auch die
                  folgenden:

                  ADVISORY
                         Dies ist eine empfohlene Sperre.

                  MANDATORY
                         Dies ist eine Pflichtsperre.

              (4) Die Art der Sperre. Folgende Werte können hier auftauchen:

                  READ   Dies ist eine POSIX- oder OFD-Lesesperre oder eine
                         gemeinsame BSD-Sperre.

                  WRITE  Dies ist eine POSIX- oder OFD-Schreibsperre oder eine
                         exklusive BSD-Sperre.

              (5) die PID des Prozesses, der die Sperre besitzt,

                  Da OFD-Sperren nicht einem einzelnen Prozess gehören (da
                  mehrere Prozesse über Dateideskriptoren verfügen können, die
                  sich auf die gleiche offene Dateideskription beziehen), wird
                  in diesem Feld der Wert -1 für OFD-Sperren angezeigt. (Vor
                  Kernel 4.14 wurde durch einen Fehler die PID des Prozesses,
                  der ursprünglich die Sperre erwarb, statt des Wertes -1
                  angezeigt.)

              (6) Drei Doppelpunkt-getrennte Unterlisten, die die Major- und
                  Minor-Gerätekennung des Geräts, das das Dateisystem enthält,
                  auf dem sich die gesperrte Datei befindet, gefolgt von der
                  Inode-Nummer der gesperrten Datei.

              (7) Der Byte-Versatz des ersten Bytes der Sperre. Für BSD-Sperren
                  ist dieser Wert immer 0.

              (8) Der Byteversatz des letzten Bytes der Sperre. EOF im Feld
                  bedeutet, dass sich die Sperre bis zum Ende der Datei
                  ausdehnt. Für BSD-Sperren ist der angezeigte Wert immer EOF.

              Seit Linux 4.9 wird die Liste der in /proc/locks gezeigten Sperren
              gefiltert, um nur die Sperren für die Prozesse in dem
              PID-Namensraum (siehe pid_namespaces(7)), für den das Dateisystem
              /proc eingehängt worden war, anzuzeigen. (Im ursprünglichen
              PID-Namensraum gibt es keine Filterung der in dieser Datei
              angezeigten Datensätze.)

              Der Befehl lslocks(8) stellt etwas mehr Informationen über jede
              Sperre bereit.

       /proc/malloc (nur bis zu einschließlich Linux 2.2)
              Diese Datei existiert nur, wenn bei der Kompilierung des Kernels
              CONFIG_DEBUG_MALLOC definiert war.

       /proc/meminfo
              Diese Datei berichtet Statistiken über die Speicherverwendung auf
              dem System. Sie wird von free(1) benutzt, um den freien und
              benutzen (sowohl physischen als auch Auslagerungs-)Speicher auf
              dem System zu berichten, sowie den gemeinsam benutzten Speicher
              und die vom Kernel benutzten Puffer. Jede Zeile der Datei besteht
              aus einem Parameternamen, gefolgt von einem Doppelpunkt, dem Wert
              des Parameters und einer Maßeinheit der Option (z.B. »kB«). Die
              nachfolgende Liste beschreibt die Parameternamen und die
              Formatkennzeichner, die zum Lesen des Feldwertes benötigt wird.
              Außer falls unten angegeben sind alle Felder seit mindestens Linux
              2.6.0 vorhanden. Einige Felder werden nur angezeigt, falls der
              Kernel mit bestimmten Optionen konfiguriert wurde, diese
              Abhängigkeiten sind in der Liste vermerkt.

              MemTotal %lu
                     Gesamter verwendbarer Arbeitsspeicher (d.h. physischer
                     Arbeitsspeicher abzüglich ein paar reservierter Bits und
                     dem Binärcode des Kernels).

              MemFree %lu
                     Die Summe von LowFree+HighFree.

              MemAvailable %lu (seit Linux 3.14)
                     Eine Abschätzung, wieviel Speicher zum Starten neuer
                     Anwendungen verfügbar ist, ohne auszulagern.

              Buffers %lu
                     Relativ temporärer Speicher für rohe Plattenblöcke, der
                     nicht besonders groß werden sollte (20 MB oder so).

              Cached %lu
                     Speicherinterner Zwischenspeicher für von Platte gelesene
                     Dateien (der Seiten-Zwischenspeicher). Enthält SwapCached
                     nicht.

              SwapCached %lu
                     Speicher, der schon ausgelagert war, und wieder
                     hereingelagert wurde, aber noch in der Auslagerungsdatei
                     ist. (Falls der Speicherdruck hoch ist, müssen diese Seiten
                     nicht wieder ausgelagert werden, da sie bereits in der
                     Auslagerungsdatei sind. Dies spart E/A).

              Active %lu
                     Speicher, der kürzlich verwandt wurde und normalerweise
                     noch nicht zurückgefordert wurde, falls nicht absolut
                     notwendig.

              Inactive %lu
                     Speicher, der nicht kürzlich verwandt wurde. Er ist für
                     Rückforderungen für andere Zwecke geeigneter.

              Active(anon) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Inactive(anon) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Active(file) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Inactive(file) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Unevictable %lu (seit Linux 2.6.28)
                     (Von Linux 2.6.28 bis 2.6.30: CONFIG_UNEVICTABLE_LRU war
                     notwendig.)  [Muss noch dokumentiert werden.]

              Mlocked %lu (seit Linux 2.6.28)
                     (Von Linux 2.6.28 bis 2.6.30: CONFIG_UNEVICTABLE_LRU war
                     notwendig.)  [Muss noch dokumentiert werden.]

              HighTotal %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt).
                     Gesamtmenge von Highmem. Highmem ist aller Speicher
                     oberhalb ~860 MB physischen Speichers. Highmem-Bereiche
                     können von Anwendungsprogrammen oder für den
                     Seiten-Zwischenspeicher verwandt werden. Der Kernel muss
                     Tricks zum Zugriff auf diesen Speicher verwenden, wodurch
                     der Zugriff langsamer als bei Lowmem ist.

              HighFree %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt)
                     Menge des freien Highmems.

              LowTotal %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt)
                     Gesamtmenge an Lowmem. Lowmem ist Speicher, der für alles
                     verwandt werden kann, wofür Highmem verwandt werden kann,
                     er ist aber auch für die Verwendung durch den Kernel für
                     seine eigenen Datenstrukturen verfügbar. Unter anderem wird
                     hier heraus Slab zugewiesen. Schlimme Dinge passieren,
                     falls kein Lowmem mehr verfügbar ist.

              LowFree %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt)
                     Menge des freien Lowmems.

              MmapCopy %lu (seit Linux 2.6.29)
                     (CONFIG_MMU ist notwendig.) [Muss noch dokumentiert
                     werden.]

              SwapTotal %lu
                     Gesamtmenge des verfügbaren Auslagerungsbereichs.

              SwapFree %lu
                     Größe des derzeit ungenutzten Auslagerungsbereichs.

              Dirty %lu
                     Speicher, der darauf wartet, zurück auf Platte geschrieben
                     zu werden.

              Writeback %lu
                     Speicher, der aktiv zurück auf Platte geschrieben wird.

              AnonPages %lu (seit Linux 2.6.18)
                     Nicht-Datei basierende Seiten, die in Seitentabellen des
                     Anwendungsraums gemappt sind.

              Mapped %lu
                     Dateien, die in den Speicher (mit mmap(2)) gemappt wurden,
                     wie Bibliotheken.

              Shmem %lu (seit Linux 2.6.32)
                     Speichermenge, die vom tmpfs(5) belegt wird.

              KReclaimable %lu (seit Linux 4.20)
                     Kernelzuweisungen, die der Kernel versuchen wird, im Falle
                     von Speicherknappheit zurückzuverlangen. Schließt
                     SReclaimable (siehe nachfolgend) und andere direkte
                     Zuweisungen mit einem Verkleinerer ein.

              Slab %lu
                     Zwischenspeicher für In-Kernel-Datenstrukturen. (siehe
                     slabinfo(5))

              SReclaimable %lu (seit Linux 2.6.19)
                     Teil von Slab, der zurückgewonnen werden könnte, wie
                     Zwischenspeicher.

              SUnreclaim %lu (seit Linux 2.6.19)
                     Teil von Slab, der bei Speicherknappheit nicht
                     zurückgewonnen werden kann.

              KernelStack %lu (seit Linux 2.6.32)
                     Teil des Speichers, der Kernel-Stacks zugewiesen wurde.

              PageTables %lu (seit Linux 2.6.18)
                     Menge des Speichers, der der niedrigsten Stufe der
                     Seitentabellen zugeordnet ist.

              Quicklists %lu (seit Linux 2.6.27)
                     (CONFIG_QUICKLIST ist notwendig.) [Muss noch dokumentiert
                     werden.]

              NFS_Unstable %lu (seit Linux 2.6.18)
                     NFS-Seiten, die an den Server gesandt, aber noch nicht dem
                     dauerhaften Speicher übergeben wurden.

              Bounce %lu (seit Linux 2.6.18)
                     Speicher, der für Blockgerät-»bounce buffer« verwendet
                     wird.

              WritebackTmp %lu (seit Linux 2.6.26)
                     Speicher, das von FUSE für temporäre Rückschreibe-Puffer
                     verwandt wird.

              CommitLimit %lu (seit Linux 2.6.10)
                     This is the total amount of memory currently available to
                     be allocated on the system, expressed in kilobytes.  This
                     limit is adhered to only if strict overcommit accounting is
                     enabled (mode 2 in /proc/sys/vm/overcommit_memory).  The
                     limit is calculated according to the formula described
                     under /proc/sys/vm/overcommit_memory.  For further details,
                     see the kernel source file
                     Documentation/vm/overcommit-accounting.rst.

              Committed_AS %lu
                     Die derzeit im System belegte Speichermenge. Der gebundene
                     (»commited«) Speicher ist die Summe des Speichers, der vom
                     Prozess belegt wird, selbst wenn der noch nicht durch ihn
                     »verwandt« wurde. Ein Prozess, der 1 GB Speicher (mittels
                     malloc(3) oder ähnlichem) belegt, aber nur 300 MB davon
                     anrührt, wird mit 300 MB an Speicher angezeigt, selbst wenn
                     er einen Adressraum für das gesamte 1 GB belegt hat.

                     This 1 GB is memory which has been "committed" to by the VM
                     and can be used at any time by the allocating application.
                     With strict overcommit enabled on the system (mode 2 in
                     /proc/sys/vm/overcommit_memory), allocations which would
                     exceed the CommitLimit will not be permitted.  This is
                     useful if one needs to guarantee that processes will not
                     fail due to lack of memory once that memory has been
                     successfully allocated.

              VmallocTotal %lu
                     Gesamtgröße des Vmalloc-Speicherbereichs.

              VmallocUsed %lu
                     Größe des benutzten Vmalloc-Bereichs. Seit Linux 4.4 wird
                     dieses Feld nicht mehr berechnet und ist auf 0 hartkodiert.
                     Siehe /proc/vmallocinfo.

              VmallocChunk %lu
                     Größter zusammenhängender freier Vmalloc-Bereichsblock.
                     Seit Linux 4.4 wird dieses Feld nicht mehr berechnet und
                     ist auf 0 hartkodiert. Siehe /proc/vmallocinfo.

              HardwareCorrupted %lu (seit Linux 2.6.32)
                     (CONFIG_MEMORY_FAILURE ist notwendig.) [Muss noch
                     dokumentiert werden.]

              LazyFree %lu (seit Linux 4.12)
                     Zeigt die Menge des durch madvise(2) als MADV_FREE
                     markierten Speichers.

              AnonHugePages %lu (seit Linux 2.6.38)
                     (CONFIG_TRANSPARENT_HUGEPAGE wird benötigt) Nicht-Datei
                     basierte große Speicherseiten, die in die Seitentabellen im
                     Anwendungsraum gemappt sind.

              ShmemHugePages %lu (seit Linux 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE wird benötigt.) Von gemeinsam
                     benutztem Speicher (shem) benutzter Speicher und mit großen
                     Speicherseiten reserviertes tmpfs(5).

              ShmemPmdMapped %lu (seit Linux 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE wird benötigt.) Gemeinsamer,
                     in den Anwendungsraum mit großen Seiten gemappter Speicher.

              CmaTotal %lu (seit Linux 3.1)
                     Gesamte CMA- (Contiguous Memory Allocator) Seiten.
                     (CONFIG_CMA wird benötigt.)

              CmaFree %lu (seit Linux 3.1)
                     Freie CMA- (Contiguous Memory Allocator) Seiten.
                     (CONFIG_CMA wird benötigt.)

              HugePages_Total %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Größe der Sammlung
                     der großen Speicherseiten.

              HugePages_Free %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Anzahl der großen
                     Speicherseiten in der Sammlung, die noch nicht reserviert
                     worden sind.

              HugePages_Rsvd %lu (seit Linux 2.6.17)
                     (CONFIG_HUGETLB_PAGE wird benötigt.)  Dies ist die Anzahl
                     der großen Speicherseiten, für die eine Verpflichtung zur
                     Reservierung aus der Sammlung erfolgte, aber noch keine
                     Reservierung durchgeführt wurde. Die reservierten großen
                     Speicherseiten garantieren, dass die Anwendung in der Lage
                     sein wird, große Speicherseiten aus der Sammlung von großen
                     Speicherseiten zum Zeitpunkt der Ausnahmebehandlung zu
                     reservieren.

              HugePages_Surp %lu (seit Linux 2.6.24)
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Dies ist die Anzahl an
                     großen Speicherseiten in der Sammlung oberhalb des Wertes
                     in /proc/sys/vm/nr_hugepages. Die maximale Anzahl an
                     zusätzlichen großen Speicherseiten wird durch
                     /proc/sys/vm/nr_overcommit_hugepages gesteuert.

              Hugepagesize %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Größe der großen
                     Speicherseiten.

              DirectMap4k %lu (seit Linux 2.6.27)
                     Anzahl von Bytes von RAM (in 4 kB-Seiten), der durch den
                     Kernel linear gemappt ist. (x86)

              DirectMap4M %lu (seit Linux 2.6.27)
                     Anzahl an Bytes von RAM (in 4 MB-Seiten), der durch den
                     Kernel linear gemappt ist. (x86 mit aktiviertem
                     CONFIG_X86_64 oder CONFIG_X86_PAE)

              DirectMap2M %lu (seit Linux 2.6.27)
                     Anzahl an Bytes von RAM (in 2 MB-Seiten), der durch den
                     Kernel linear gemappt ist. (x86 mit aktiviertem
                     CONFIG_X86_64 oder CONFIG_X86_PAE)

              DirectMap1G %lu (seit Linux 2.6.27)
                     (x86 mit CONFIG_X86_64 und CONFIG_X86_DIRECT_GBPAGES
                     aktiviert.)

       /proc/modules
              Eine Textliste der vom System geladenen Module (siehe auch
              lsmod(8)) .

       /proc/mounts
              Vor Kernel 2.4.19 war diese Datei eine Liste aller aktuell im
              System eingehängten Dateisysteme. Mit der Einführung der
              prozesseigenen Einhängenamensräume in Linux 2.4.19 (siehe
              mount_namespaces(7)) wurde diese Datei ein Link auf
              /proc/self/mounts, die die Einhängepunkte des prozesseigenen
              Einhängenamensraums auflistet. Das Format dieser Datei wird in
              fstab(5) dokumentiert.

       /proc/mtrr
              Die Memory Type Range Register, Details siehe die
              Linux-Kernel-Quelldatei Documentation/x86/mtrr.txt (oder
              Documentation/mtrr.txt vor Linux 2.6.28).

       /proc/net
              Dieses Verzeichnis enthält verschiedene Dateien und
              Unterverzeichnisse, die Informationen über die Netzwerkschicht
              enthalten. Diese Dateien enthalten ASCII-Strukturen und sind daher
              mit »cat« lesbar. Allerdings stellt der Standardbefehl netstat(8)
              einen sehr viel saubereren Zugang zu diesen Dateien dar.

              Mit dem Aufkommen von Netznamensräumen sind verschiedene
              Informationen über den Netzwerkstapel virtualisiert (siehe
              network_namespaces(7)). Daher ist seit Linux 2.6.25 /proc/net ein
              symbolischer Link auf das Verzeichnis /proc/self/net, das die
              gleichen unten aufgeführten Dateien und Verzeichnisse enthält.
              Allerdings stellen diese Dateien und Verzeichnisse nun die
              Informationen für den Netznamensraum dar, bei dem der Prozess
              Mitglied ist.

       /proc/net/arp
              Enthält einen in ASCII lesbaren Abzug der ARP-Tabelle des Kernels,
              die zur Adressauflösung dient. Angezeigt werden sowohl dynamisch
              gelernte wie auch vorprogrammierte ARP-Einträge in folgendem
              Format:

                  IP address     HW type   Flags     HW address          Mask   Device
                  192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
                  192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0

              Dabei ist »IP address« die IPv4-Adresse der Maschine, »HW type«
              ist der Hardware-Typ gemäß RFC 826. Die Schalter sind die internen
              Schalter der ARP-Struktur (siehe /usr/include/linux/if_arp.h) und
              »HW address« ist die Zuordnung in der Daten-Link-Ebene für diese
              IP-Adresse, wenn bekannt.

       /proc/net/dev
              Die Pseudodatei dev enthält Statusinformationen über die
              Netzwerkkarte. Darin stehen die Anzahl der empfangenen und
              gesendeten Pakete, die Anzahl der Übertragungsfehler und
              Kollisionen und weitere grundlegende Statistik. Das Programm
              ifconfig(8) benutzt diese Werte für die Anzeige des Gerätestatus.
              Das Format ist:

              Inter-|   Receive                                                |  Transmit
               face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
                  lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
                eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
                ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
                tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0

       /proc/net/dev_mcast
              Definiert in /usr/src/linux/net/core/dev_mcast.c:

                  indx interface_name  dmi_u dmi_g dmi_address
                  2    eth0            1     0     01005e000001
                  3    eth1            1     0     01005e000001
                  4    eth2            1     0     01005e000001

       /proc/net/igmp
              Internet Group Management Protocol.  Definiert in
              /usr/src/linux/net/core/igmp.c.

       /proc/net/rarp
              Diese Datei benutzt das gleiche Format wie die arp-Datei und
              enthält die aktuelle Datenbank für die »umgekehrte
              Adressauflösung« (reverse mapping), mit der rarp(8) arbeitet. Wenn
              RARP nicht in den Kernel hineinkonfiguriert ist, dann ist diese
              Datei nicht vorhanden.

       /proc/net/raw
              Enthält einen Abzug der RAW-Socket-Tabelle. Der Großteil der
              Informationen dient nur zur Fehlersuche. Der »sl«-Wert ist der
              »kernel hash slot« für diesen Socket, »local address« enthält das
              Wertepaar für lokale Adresse und Protokoll. "St" ist der interne
              Status des Sockets. »tx_queue« und »rx_queue« sind Warteschlangen
              für ausgehende bzw. eintreffende Daten, angegeben als
              Kernel-Speichernutzung, »tr«, »tm->when« und »rexmits« werden von
              RAW nicht benutzt. Das »uid«-Feld enthält die effektive UID des
              Socket-Erstellers.

       /proc/net/snmp
              Diese Datei enthält die ASCII-Daten, die für die Verwaltung von
              IP, ICMP, TCP und UDP durch einen SNMP-Agenten benötigt werden.

       /proc/net/tcp
              Enthält einen Abzug der TCP-Socket-Tabelle. Der Großteil der
              Informationen dient nur zur Fehlersuche. Der »sl«-Wert ist der
              »kernel hash slot« für diesen Socket, »local address« ist ein
              Wertepaar aus lokaler Adresse und Port. Die »remote address« ist
              (bei einer bestehenden Verbindung) ein Wertepaar aus Adresse der
              Gegenstation und deren Port. "St" ist der interne Status des
              Sockets. »tx_queue« und »rx_queue« sind aus- und eingehenden
              Datenwarteschlangen bezüglich der Kernelspeicherverwendung. Die
              Felder »tr«, »tm->when« und »rexmits« enthalten interne
              Kernel-Informationen zum Zustand des Sockets und nutzen nur zur
              Fehlersuche. Das »uid«-Feld enthält die effektive UID des
              Socket-Erstellers.

       /proc/net/udp
              Enthält einen Abzug der UDP-Socket-Tabelle. Der Großteil der
              Informationen dient nur zur Fehlersuche. Der »sl«-Wert ist der
              »kernel hash slot« für diesen Socket, »local address« ist ein
              Wertepaar aus lokaler Adresse und Port. Die »remote address« ist
              (bei einer bestehenden Verbindung) ein Wertepaar aus Adresse der
              Gegenstation und deren Port. "St" ist der interne Status des
              Sockets. »tx_queue« und »rx_queue« sind aus- und eingehenden
              Datenwarteschlangen bezüglich der Kernelspeicherverwendung. Die
              Felder »tr«, »tm->when« und »rexmits« werden von UDP nicht
              genutzt. Das »uid«-Feld enthält die effektive UID des
              Socket-Erstellers. Das Format ist:

              sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm->when uid
               1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
               1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
               1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0

       /proc/net/unix
              Liste der UNIX Domain Sockets im System und ihr Status. Format:

              Num RefCount Protocol Flags    Type St Inode Path
               0: 00000002 00000000 00000000 0001 03    42
               1: 00000001 00000000 00010000 0001 01  1948 /dev/printer

              Die Bedeutung der Felder im Einzelnen:

              Num:      die Kerneltabellenpositionsnummer.

              RefCount: Die Anzahl der Benutzer des Sockets.

              Protokoll:
                        Derzeit immer 0.

              Flags:    Die internen Kernel-Schalter, die den Status des Sockets
                        halten.

              Type:     Der Socket-Typ. Für SOCK_STREAM-Sockets ist dies 0001,
                        für SOCK_DGRAM-Sockets ist dies 0002 und für
                        SOCK_SEQPACKET-Sockets ist dies 0005.

              St:       Der interne Zustand des Sockets.

              Inode:    Die Inode-Nummer des Sockets.

              Path:     Der gebundene Pfadname (falls vorhanden) des Sockets.
                        Sockets in dem abstrakten Namensraum sind Teil der Liste
                        und werden mit einem Path angezeigt, der mit dem Zeichen
                        »@« beginnt.

       /proc/net/netfilter/nfnetlink_queue
              Diese Datei enthält Informationen über den Umgang mit der
              Netfilter-Anwendungsebene-Warteschlange, falls diese benutzt wird.
              Jede Zeile stellt eine Warteschlange dar. Warteschlangen, die von
              der Anwendungsebene aus nicht abonniert wurden, werden nicht
              angezeigt.

                     1   4207     0  2 65535     0     0        0  1
                    (1)   (2)    (3)(4)  (5)    (6)   (7)      (8)

              Die Felder in jeder Zeile sind:

              (1)  Die Kennung der Warteschlange. Dies passt auf die Angabe in
                   --queue-num oder der Option --queue-balance im NFQUEUE-Ziel
                   von iptables(8). Siehe iptables-extensions(8) für weitere
                   Informationen.

              (2)  Die Netlink-Port-Kennung, die von der Warteschlange abonniert
                   wurde.

              (3)  Die Anzahl der derzeit eingereihten und auf Verarbeitung
                   durch die Anwendung wartenden Pakete.

              (4)  Der Kopiermodus der Warteschlange. Er ist entweder 1 (nur
                   Metadaten) oder 2 (auch Nutzdaten in die Anwendungsebene
                   kopieren).

              (5)  Kopierbereich. Dies gibt an, wie viele Bytes der
                   Paketnutzdaten maximal in die Anwendungsebene kopiert werden
                   sollen.

              (6)  in Warteschlange weggelassen. Die Anzahl der Pakete, die vom
                   Kernel weggelassen werden mussten, da bereits zu viele Pakete
                   darauf warten, dass ein Anwendungsprogramm die
                   verpflichtenden Akzeptier-/Verwerfentscheidungen
                   zurückliefert.

              (7)  in Warteschlange durch Benutzer weggelassen. Die Anzahl der
                   Pakete, die innerhalb des Netlink-Untersystems weggelassen
                   werden mussten. Diese entfallen normalerweise, wenn der
                   entsprechende Socket-Puffer voll ist, d.h.
                   Benutzeranwendungen nicht schnell genug sind, die Meldungen
                   zu lesen.

              (8)  Sequenznummer. Jedes Paket ist einer (32-bit),
                   monoton-ansteigenden Sequenznummer zugeordnet. Dies zeigt die
                   Kennung des neusten eingereihten Pakets.

              Die letzte Zahl existiert nur aus Kompatibilitätsgründen und ist
              immer 1.

       /proc/partitions
              Enthält neben den Major- und Minor-Gerätenummern jeder Partition
              auch die Anzahl der 1024-Byte-Blöcke und dem Partitionsnamen.

       /proc/pci
              Das ist eine Liste aller PCI-Geräte, die während der
              Initialisierung des Kernels gefunden und konfiguriert wurden.

              Diese Datei wurde zugunsten einer neuen /proc-Schnittstelle für
              PCI (/proc/bus/pci) verworfen. Sie wurde in Linux 2.2 optional
              (verfügbar durch Setzen von CONFIG_PCI_OLD_PROC bei der
              Kernel-Kompilierung). Sie wurde noch einmal non-optional in Linux
              2.4 aktiviert. Als nächstes wurde sie in Linux 2.6 missbilligt
              (mit gesetztem CON-FIG_PCI_LEGACY_PROC noch verfügbar) und
              schließlich seit Linux 2.6.17 entfernt.

       /proc/profile (seit Linux 2.4)
              Diese Datei ist nur verfügbar, falls der Kernel mit der
              Befehlszeilenoption profile=1 gestartet wurde. Er legt die
              Profiling-Informationen des Kernels in einem binären Format für
              die Verwendung mit readprofile(1) offen. Wird (z.B. eine leere
              Zeichenkette) in diese Datei geschrieben, werden die
              Profiling-Zähler zurückgesetzt; auf einigen Architekturen setzt
              das Schreiben einer binäre Ganzzahl (»Profiling-Vervielfacher«)
              der Größe sizeof(int) die Profiling-Interrupt-Frequenz.

       /proc/scsi
              Ein Verzeichnis mit der scsi-»mid-level«-Pseudodatei und diversen
              Verzeichnissen für systemnahe SCSI-Treiber, die eine Datei pro
              SCSI-Host im System enthalten. Alle diese spiegeln den Status
              eines Teils des SCSI-Subsystems wider. Die Dateien enthalten
              ASCII-Strukturen, können also mit cat(1) gelesen werden.

              In einige Dateien kann auch geschrieben werden, um das Teilsystem
              neu zu konfigurieren oder um bestimmte Eigenschaften ein- oder
              auszuschalten.

       /proc/scsi/scsi
              Dies ist eine Liste aller SCSI-Geräte, die dem Kernel bekannt
              sind. Sie ähnelt der, die beim Hochfahren des Rechners zu sehen
              ist. SCSI unterstützt derzeit nur den Befehl singledevice, der
              root ermöglicht, im laufenden Betrieb der Liste ein zusätzliches
              Gerät hinzuzufügen.

              Der Befehl

                  echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi

              veranlasst Host scsi1 nachzusehen, ob auf SCSI-Kanal 0 ein Gerät
              mit ID 5 LUN 0 existiert. Wenn an dieser Adresse schon ein Gerät
              ist, oder die Adresse ungültig ist, wird ein Fehler
              zurückgeliefert.

       /proc/scsi/[Treibername]
              Treibername kann derzeit sein: NCR53c7xx, aha152x, aha1542,
              aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000,
              pas16, qlogic, scsi_debug, seagate, t128, u15-24f, ultrastore oder
              wd7000.  Diese Verzeichnisse werden für jeden Treiber angezeigt,
              der zumindest ein SCSI-HBA registriert hat. Jedes Verzeichnis
              enthält eine Datei pro registriertem Host, die als Namen die
              Nummer haben, die dem Host bei der Initialisierung zugewiesen
              wurde.

              Das Lesen der Dateien zeigt normalerweise Treiber- und
              Host-Konfiguration, Statistik usw.

              Schreiben in diese Dateien hat Host-abhängige Auswirkungen. Mit
              den Befehlen latency und nolatency kann Root den Code zur
              Latenzmessung im eata_dma-Treiber ein-/ausschalten. Mit lockup und
              unlock kann Root Bus-Verklemmungen (bus lockups) steuern, wie sie
              vom scsi_debug-Treiber simuliert werden.

       /proc/self
              Dieses Verzeichnis bezieht sich auf den Prozess, der auf das
              /proc-Dateisystem zugreift und ist mit dem /proc-Verzeichnis
              identisch, das als Namen die Prozessnummer dieses Prozesses hat.

       /proc/slabinfo
              Informationen über Kernel-Zwischenspeicher. Siehe slabinfo(5) für
              Details.

       /proc/stat
              Von der Architektur abhängige Kernel- und Systemstatistiken.
              Gebräuchliche Einträge sind:

              cpu 10132153 290696 3084719 46828483 16683 0 25195 0 175628 0
              cpu0 1393280 32966 572056 13343292 6130 0 17875 0 23933 0
                     Die Zeitdauer (gemessen in USER_HZ, auf den meisten
                     Architekturen Hundertstelsekunden, ermitteln Sie den
                     richtigen Wert mit sysconf(_SC_CLK_TCK)), die das System
                     (»cpu«-Zeile) oder die spezielle CPU (»cpuN«-Zeile) in
                     verschiedenen Status verbracht hat:

                     user   (1) Zeit, die auf der Anwendungsebene verbracht
                            wurde.

                     nice   (2) Zeit, die auf der Anwendungsebene mit niedriger
                            Priorität (nice) verbracht wurde.

                     system (3) Zeit, die im Systemmodus verbracht wurde.

                     idle   (4) Im Leerlaufprozess verbrachte Zeit. Dieser Wert
                            sollte USER_HZ mal den zweiten Eintrag in der
                            Pseudo-Datei /proc/uptime sein.

                     iowait (seit Linux 2.5.41)
                            (5) Zeit, die für den Abschluss der E/A wartend
                            verbracht wird. Dieser Wert ist aus den folgenden
                            Gründen nicht zuverlässig:

                            1. Die CPU wartet nicht, dass E/A abgeschlossen
                               wird; Iowait ist die Zeit, die ein Prozess auf
                               den Abschluss von E/A wartet. Wenn eine CPU
                               aufgrund ausstehender Prozess-E/A in den Leerlauf
                               geht, wird ein anderer Prozess auf der CPU
                               eingeplant.

                            2. Auf einer Mehrkern-CPU läuft der auf den
                               Abschluss von E/A wartende Prozess auf keiner
                               CPU, so dass die Berechnung von Iowait für jede
                               CPU schwierig ist.

                            3. Der Wert in diesem Feld kann unter gewissen
                               Umständen abnehmen.

                     irq (seit Linux 2.6.0)
                            (6) Zeit, die zum Ausliefern von Interrupts
                            verbracht wurde.

                     softirq (seit Linux 2.6.0)
                            (7) Zeit, die zum Ausliefern von Softirqs verbracht
                            wurde.

                     steal (seit Linux 2.6.11)
                            (8) Gestohlene Zeit, die in anderen Betriebssystemen
                            verbracht wurde, wenn der Prozess in einer
                            virtualisierten Umgebung läuft.

                     guest (seit Linux 2.6.24)
                            (9) Zeit, die für den Betrieb einer virtuellen CPU
                            für Gastbetriebssysteme unter der Steuerung des
                            Linux-Kernels verbracht wurde.

                     guest_nice (seit Linux 2.6.33)
                            (10) Zeit, die für die Ausführung eines mit nice
                            eingestellten Gastes verbracht wurde (virtuelle CPU
                            für Gastbetriebssysteme unter der Steuerung des
                            Linux-Kernels)

              page 5741 1808
                     Die Anzahl Speicherseiten, die das System von der Platte
                     geladen hat sowie die Anzahl der dorthin ausgelagerten
                     Speicherseiten.

              swap 1 0
                     Die Anzahl an Auslagerungsseiten, die hereingeholt und
                     herausgebracht wurden.

              intr 1462898
                     Diese Zeile zeigt Zählungen der seit dem Systemstart
                     bearbeiteten Interrupts für jeden der möglichen
                     System-Interrupts. Die erste Spalte ist die Summe aller
                     bearbeiteten Interrupts (einschließlich
                     architekturspezifischer Interrupts ohne Nummer); jede
                     weitere Spalte ist die Summe für diesen bestimmten
                     Interrupt mit Nummer. Interrupts ohne Nummer werden nicht
                     angezeigt, nur in der Gesamtsumme berücksichtigt.

              disk_io: (2,0):(31,30,5764,1,2) (3,0):…
                     (major,disk_idx):(noinfo, read_io_ops, blks_read,
                     write_io_ops, blks_written)
                     (nur Linux 2.4)

              ctxt 115315
                     Anzahl Kontextwechsel, die das System durchlaufen hat.

              btime 769041601
                     Zeitpunkt des Systemstarts, in Sekunden seit dem 1. Januar
                     1970 0 Uhr UTC (Epoch).

              processes 86031
                     Anzahl der seit dem Systemstart erzeugten Prozesse.

              procs_running 6
                     Anzahl der lauffähigen Prozesse (von Linux 2.5.45
                     aufwärts).

              procs_blocked 2
                     Anzahl von Prozessen, die durch das Warten auf den
                     Abschluss von E/A blockiert sind (2.5.45 aufwärts).

              softirq 229245889 94 60001584 13619 5175704 2471304 28 51212741
              59130143 0 51240672
                     Diese Zeile zeigt die Anzahl von Softirqs für alle CPUs.
                     Die erste Spalte ist die Gesamtsumme aller Softirqs und
                     jede nachfolgende Spalte ist die Gesamtsumme für einen
                     bestimmten Softirq (2.6.31 aufwärts).

       /proc/swaps
              Genutzte Auslagerungsbereiche; siehe auch swapon(8).

       /proc/sys
              Dieses Verzeichnis (vorhanden seit 1.3.57) enthält einige Dateien
              und Unterverzeichnisse, die Kernel-Variablen entsprechen. Diese
              Variablen können gelesen und einigen Fällen auch mittels des
              /proc-Dateisystems oder des (missbilligten) Systemaufrufs
              sysctl(2) geändert werden.

              Zeichenkettenwerte dürfen entweder von »\0« oder »\n«
              eingeschlossen werden.

              Werte vom Typ Integer oder Long können entweder in dezimaler oder
              in hexadezimaler Schreibweise (z.B. 0x3FFF) geschrieben werden.
              Beim Schreiben von mehreren Werten vom Typ Integer oder Long
              können diese durch eines der folgenden Leerraumzeichen getrennt
              werden: » «, »\t« oder »\n«. Die Verwendung anderer Trennzeichen
              führt zum Fehler EINVAL.

       /proc/sys/abi (seit Linux 2.4.10)
              Dieses Verzeichnis enthält möglicherweise binäre
              Anwendungsinformationen; siehe die Linux-Kernel-Quelldatei
              Documentation/sysctl/abi.txt für weitere Informationen.

       /proc/sys/debug
              Dieses Verzeichnis kann leer sein.

       /proc/sys/dev
              Dieses Verzeichnis enthält gerätespezifische Informationen (z.B.
              /dev/cdrom/info). Auf einigen Systemen kann es leer sein.

       /proc/sys/fs
              Dieses Verzeichnis enthält die Dateien und Unterverzeichnisse für
              Kernel-Variablen in Zusammenhang mit Dateisystemen.

       /proc/sys/fs/aio-max-nr und /proc/sys/fs/aio-nr (seit Linux 2.6.4)
              aio-nr ist die laufende Gesamtsumme der Anzahl von Ereignissen,
              die mit io_setup(2)-Aufrufen für alle derzeit aktiven AIO-Kontexte
              festgelegt wurde. Falls aio-nr aio-max-nr erreicht, dann wird
              io_setup(2) mit dem Fehler EAGAIN fehlschlagen. Erhöhen von
              aio-max-nr führt nicht zu einer Vorbelegung oder Vergrößerung
              irgendwelcher Kernel-Datenstrukturen.

       /proc/sys/fs/binfmt_misc
              Dokumentation für Dateien in diesem Verzeichnis kann in den
              Linux-Kernelquellen in der Datei
              Documentation/admin-guide/binfmt-misc.rst (oder in
              Documentation/binfmt_misc.txt auf älteren Kerneln) gefunden
              werden.

       /proc/sys/fs/dentry-state (seit Linux 2.2)
              Diese Datei enthält Informationen über den Zustand des
              Verzeichnis-Zwischenspeichers (directory cache,dcache). Die Datei
              enthält sechs Zahlen: nr_dentry, nr_unused, age_limit (Alter in
              Sekunden), want_pages (vom System angeforderte Seiten) und zwei
              Dummy-Werte.

              * nr_dentry ist die Anzahl der zugewiesenen Dentries (dcache
                entries). Dieses Feld wird in Linux 2.2 nicht genutzt.

              * nr_unused ist die Anzahl ungenutzter Dentries.

              * age_limit ist das Alter in Sekunden, nach dem Dcache-Einträge
                bei Speicherknappheit zurückgefordert werden können.

              * want_pages ist ungleich null, wenn der Kernel
                shrink_dcache_pages() aufgerufen hat und der Dcache noch nicht
                bereinigt ist.

       /proc/sys/fs/dir-notify-enable
              Diese Datei kann genutzt werden, um die in fcntl(2) beschriebene
              dnotify-Schnittstelle auf systemweiter Basis zu aktivieren oder zu
              deaktivieren. Ein Wert von 0 in dieser Datei deaktiviert die
              Schnittstelle, ein Wert von 1 aktiviert sie.

       /proc/sys/fs/dquot-max
              Diese Datei zeigt die maximale Anzahl von zwischengespeicherten
              Kontingent-Einträgen für die Festplatte. Auf einigen
              (2.4)-Systemen ist sie nicht vorhanden. Wenn die Anzahl der freien
              Festplatten-Kontingent-Einträge im Cache sehr klein ist und Sie
              haben eine außergewöhnliche Anzahl gleichzeitiger Systembenutzer,
              möchten Sie vielleicht diesen Grenzwert erhöhen.

       /proc/sys/fs/dquot-nr
              Diese Datei zeigt die Anzahl zugewiesener und die Anzahl freier
              Plattenkontingent-Einträge.

       /proc/sys/fs/epoll (seit Linux 2.6.28)
              Dieses Verzeichnis enthält die Datei max_user_watches, mit der der
              insgesamt von der epoll-Schnittstelle beanspruchte Kernel-Speicher
              begrenzt werden kann. Weitere Einzelheiten finden Sie in epoll(7).

       /proc/sys/fs/file-max
              Diese Datei legt eine systemweite Grenze für die Anzahl offener
              Dateien für alle Prozesse fest. Systemaufrufe, die beim Erreichen
              dieser Grenze fehlschlagen, schlagen mit dem Fehler ENFILE fehl.
              (Siehe auch setrlimit(2), mit der ein Prozess seine
              prozess-spezifische Begrenzung, RLIMIT_NOFILE, für die Anzahl zu
              öffnender Dateien festlegen kann.) Wenn Sie viele Fehlermeldungen
              im Kernelprotkoll über nicht ausreichende Datei-Handles (offene
              Dateideskriptoren) bekommen (suchen Sie nach »VFS: file-max limit
              <number> reached«), versuchen Sie es mit einer Vergrößerung des
              Wertes:

                  echo 100000 > /proc/sys/fs/file-max

              Ein privilegierter Prozess (CAP_SYS_ADMIN) kann die Begrenzung
              file-max außer Kraft setzen.

       /proc/sys/fs/file-nr
              Diese (nur lesbare) Datei enthält drei Zahlen: die Anzahl der
              belegten Datei-Handles (d.h. die Anzahl der offenen
              Dateiedeskriptoren; siehe open(2)); die Anzahl der freien
              Datei-Handles und die maximale Anzahl an Datei-Handles (d.h. der
              gleiche Wert wie /proc/sys/fs/file-max). Falls die Anzahl an
              belegten Datei-Handles nahe dem Maximalwert ist, sollten Sie in
              Betracht ziehen, das Maximum zu erhöhen. Vor Linux 2.6 belegte der
              Kernel Datei-Handles dynamisch, aber gab sie nicht wieder frei.
              Stattdessen wurden die freien Datei-Handles in einer Liste zur
              Neubelegung verwaltet, der Wert »free file handles« zeigt die
              Größe dieser Liste an. Ein große Anzahl an freien Datei-Handles
              zeigt an, dass es in der Vergangenheit eine Benutzungsspitze für
              offene Datei-Handles gab. Seit Linux 2.6 gibt der Kernel
              freigegebene Datei-Handles wieder frei und der Wert »free file
              handles« ist immer Null.

       /proc/sys/fs/inode-max (nur bis Linux 2.2 vorhanden)
              Diese Datei enthält die maximale Anzahl von im Speicher
              befindlichen Inodes. Dieser Wert sollte drei- bis viermal größer
              sein als der Wert von file-max, weil auch die Bearbeitung von
              stdin, stdout und Netzwerk-Sockets einen Inode erfordert. Wenn
              Ihnen regelmäßig die Inodes knapp werden, müssen Sie diesen Wert
              erhöhen.

              Beginnend mit Linux 2.4 gibt es keine statische Begrenzung der
              Anzahl der Inodes mehr und diese Datei wurde entfernt.

       /proc/sys/fs/inode-nr
              Diese Datei enthält die ersten zwei Werte von inode-state.

       /proc/sys/fs/inode-state
              Diese Datei enthält sieben Zahlen: nr_inodes, nr_free_inodes,
              preshrink und vier Dummy-Werte (immer Null).

              nr_inodes ist die Anzahl der Inodes, die das System zugeteilt hat.
              nr_free_inodes stellt die Anzahl der freien Inodes dar.

              preshrink ist von Null verschieden, wenn nr_inodes > inode-max und
              das System die Inode-Liste abschneiden muss, statt mehr zu
              belegen; seit Linux 2.4 ist das Feld ein Blindwert (immer Null).

       /proc/sys/fs/inotify (seit Linux 2.6.13)
              Dieses Verzeichnis enthält die Dateien max_queued_events,
              max_user_instances, und max_user_watches, mit denen der Verbrauch
              von Kernel-Speicher durch die inotify-Schnittstelle begrenzt
              werden kann. Weitere Einzelheiten finden Sie in inotify(7).

       /proc/sys/fs/lease-break-time
              Diese Datei legt die Gnadenfrist fest, die der Kernel einem
              Prozess gewährt, der über einen Dateiausleihe (fcntl(2)) verfügt,
              nachdem der Kernel dem Prozess signalisiert hat, das ein anderer
              Prozess die Datei öffnen will. Wenn der Prozess innerhalb dieser
              Frist die Ausleihe nicht entfernt oder herabstuft, wird der Kernel
              die Ausleihe zwangsweise zurückziehen.

       /proc/sys/fs/leases-enable
              Mit dieser Datei können Dateiausleihen (fcntl(2)) systemweit
              aktiviert oder deaktiviert werden. Wenn diese Datei den Wert 0
              enthält, werden Ausleihen deaktiviert. Ein Wert ungleich null
              aktiviert Ausleihen.

       /proc/sys/fs/mount-max (seit Linux 4.9)
              Der Wert in dieser Datei legt die maximale Anzahl an Einhängungen,
              die in einem Einhängenamensraum existieren dürfen, fest. Der
              Vorgabewert ist 100.000.

       /proc/sys/fs/mqueue (seit Linux 2.6.6)
              Dieses Verzeichnis enthält die Dateien msg_max, msgsize_max und
              queues_max, die den Ressourcenverbrauch von
              POSIX-Meldungswarteschlangen steuern. mq_overview(7) gibt weitere
              Informationen.

       /proc/sys/fs/nr_open (seit Linux 2.6.25)
              Diese Datei erzwingt eine obere Grenze für den Wert, auf den die
              Ressourcenbeschränkung RLIMIT_NOFILE erhöht werden kann (siehe
              getrlimit(2)). Diese obere Grenze wird sowohl für unprivilegierte
              als auch für privilegierte Prozesse durchgesetzt. Der Vorgabewert
              in dieser Datei ist 1048576. (Vor Linux 2.6.25 war die obere
              Grenze für RLIMIT_NOFILE hart auf den gleichen Wert einkodiert.)

       /proc/sys/fs/overflowgid und /proc/sys/fs/overflowuid
              Diese Dateien ermöglichen Ihnen, die festen Maximalwerte für UID
              und GID zu ändern. Der Vorgabewert ist 65534. Einige Dateisysteme
              unterstützen nur 16-Bit-UIDs und -GIDs, obwohl in Linux UIDs und
              GIDs 32 Bit lang sind. Wenn eines dieser Dateisysteme schreibbar
              eingehängt wird, würden alle UIDs oder GIDs, die 65535
              überschreiten würden, vor dem Schreiben auf die Platte in ihren
              Überlaufwert übersetzt werden.

       /proc/sys/fs/pipe-max-size (seit Linux 2.6.35)
              siehe pipe(7).

       /proc/sys/fs/pipe-user-pages-hard (seit Linux 4.5)
              siehe pipe(7).

       /proc/sys/fs/pipe-user-pages-soft (seit Linux 4.5)
              siehe pipe(7).

       /proc/sys/fs/protected_fifos (seit Linux 4.19)
              Der Wert in dieser Datei ist/kann auf eines der Folgenden gesetzt
              (werden):

              0   Schreiben in FIFOs ist nicht beschränkt.

              1   O_CREAT open(2) wird auf FIFOs, die dem Aufrufenden nicht
                  gehören und in für allen schreibbaren, »sticky« Verzeichnissen
                  liegen, nicht erlaubt, außer der FIFO gehört dem Eigentümer
                  des Verzeichnisses.

              2   Wie bei Wert 1, aber die Beschränkung trifft auch auch
                  Gruppen-schreibbare, »sticky« Verzeichnisse.

              Das Ziel der obigen Beschränkungen ist, unbeabsichtigtes Schreiben
              in eine FIFO, die von einem Angreifer gesteuert wird, zu
              vermeiden, wenn ein Programm erwartet, eine normale Datei zu
              erstellen.

       /proc/sys/fs/protected_hardlinks (seit Linux 3.6)
              Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen
              bezüglich der Erstellung von harten Links gesetzt (d.h. dies ist
              das historische Verhalten vor Linux 3.6). Wenn der Wert in dieser
              Datei 1 ist, kann ein harter Link auf ein Ziel nur erstellt
              werden, falls einer der folgenden Bedingungen zutrifft:

              *  Der aufrufenden Prozess verfügt über die Capability CAP_FOWNER
                 in seinem Benutzernamensraum und die Datei-UID hat ein
                 Zuordnung in dem Namensraum.

              *  Die Dateisystem-UID des Prozesses, der den Link erstellt, passt
                 auf den Eigentümer (UID) der Zieldatei (wie in credentials(7)
                 beschrieben, ist die Dateisystem-UID eines Prozesses
                 normalerweise zu seiner effektiven UID identisch).

              *  Alle der folgenden Bedingungen sind wahr:

                  •  das Ziel ist eine reguläre Datei;

                  •  die Zieldatei hat nicht ihr Modus-Bit »set-user-ID«
                     aktiviert;

                  •  die Zieldatei hat nicht sowohl ihr Modus-Bit »set-user-ID«
                     als auch »group-executable« aktiviert; und

                  •  der Aufrufende hat Rechte, die Zieldatei zu lesen und zu
                     schreiben (entweder über die Dateiberechtigungsmaske oder
                     weil er über die geeigneten Capabilities verfügt).

              Der Vorgabewert in dieser Datei ist 0. Durch Setzen des Wertes auf
              1 wird eine lange existierende Klasse von Sicherheitsproblemen
              durch hardlinkbasierte
              Prüfungszeitpunkt-Nutzungszeitpunkt-Ressourcenwettläufe
              verhindert, die meistens in weltschreibbaren Verzeichnissen wie
              /tmp beobachtet wird. Die häufigste Ausnutzungsmethode dieses
              Problems besteht darin, Privilegiengrenzen beim Folgen eines
              gegebenen harten Links zu überschreiten (d.h. ein Root-Prozess
              folgt einem harten Link, den ein anderer Benutzer erstellt hat).
              Zusätzlich verhindert dies unberechtigte Benutzer auf Systemen
              ohne separierte Partitionen vom »Festklemmen« verwundbarer
              set-user-ID- und set-group-ID-Dateien gegen Upgrades durch den
              Administrator oder dem Linken auf besondere Dateien.

       /proc/sys/fs/protected_regular (seit Linux 4.19)
              Der Wert in dieser Datei ist/kann auf eines der Folgenden gesetzt
              (werden):

              0   Schreiben in normale Dateien ist nicht beschränkt.

              1   O_CREAT open(2) wird auf normale Dateien, die dem Aufrufenden
                  nicht gehören und in für allen schreibbaren, »sticky«
                  Verzeichnissen liegen, nicht erlaubt, außer die normale Datei
                  gehört dem Eigentümer des Verzeichnisses.

              2   Wie bei Wert 1, aber die Beschränkung trifft auch auch
                  Gruppen-schreibbare, »sticky« Verzeichnisse.

              Das Ziel der obigen Beschränkungen ist ähnlich dem von
              protected_fifos, erlaubt es aber Anwedungen, das Schreiben in
              normale Dateien, die von einem Angreifer gesteuert werden, zu
              vermeiden, wenn ein Programm erwartet, eine zu erstellen.

       /proc/sys/fs/protected_symlinks (seit Linux 3.6)
              Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen
              auf die folgenden symbolischen Links gesetzt (d.h. das historische
              Verhalten vor Linux 3.6). Wenn der Wert in dieser Datei 1 ist,
              wird symbolischen Links nur unter den folgenden Umständen gefolgt:

              *  Die Dateisystem-UID des Prozesses, der dem symbolischen Link
                 folgt, passt auf den Eigentümer (UID) des symbolischen Links
                 (wie in credentials(7) beschrieben, ist die Dateisystem-UID
                 eines Prozesses normalerweise identisch zu seiner effektiven
                 UID);

              *  der Link ist nicht in einem weltschreibbaren Verzeichnis mit
                 Sticky-Bit; oder

              *  der symbolische Link und sein Elternverzeichnis haben den
                 gleichen Eigentümer (UID).

              Ein Systemaufruf, der beim Folgen eines symbolischen Links wegen
              der obigen Einschränkungen fehlschlägt, liefert den Fehler EACCES
              in errno zurück.

              Der Vorgabewert in dieser Datei ist 0. Wird der Wert auf 1
              gesetzt, wird eine bereits lang existierende Klasse von
              Sicherheitsproblemen, die auf Ressourcenwettläufen zwischen dem
              Zeitpunkt der Überprüfung und dem Zeitpunkt der Verwendung beim
              Zugriff auf symbolische Links basieren, vermieden.

       /proc/sys/fs/suid_dumpable (seit Linux 2.6.13)
              Der Wert in dieser Datei wird dem Schalter »dumpable« unter den in
              prctl(2) beschriebenen Umständen zugewiesen. Der Wert dieser Datei
              bestimmt schließlich, ob Speicherabbilder (Core-Dump-Dateien) für
              Set-User-ID-Programme oder anderweitig geschützte/unsaubere
              Binärprogramme erzeugt werden. Die Einstellung »dumpable« betrifft
              auch die Eigentümerschaft von Dateien im Verzeichnis /proc/[PID]
              eines Prozesses, wie oben beschrieben.

              Es können drei verschiedene Ganzzahlwerte festgelegt werden:

              0 (Standard)
                     0 (Standard) Das bewirkt das traditionelle Verhalten (vor
                     Linux 2.6.13). Ein Kernspeicherabzug wird nicht für
                     Prozesse erzeugt, die ihre Identität änderten (durch Aufruf
                     von seteuid(2), setgid(2) oder ähnliches oder durch das
                     Ausführen eines set-user-ID oder set-group-ID-Programms)
                     oder deren Binärprogramm nicht die Leseberechtigung
                     aktiviert hat.

              1 (»debug«)
                     Alle Prozesse geben einen Kernspeicherabzug aus, wenn
                     möglich. (Gründe, warum ein Prozess dennoch keinen
                     Kernspeicherabzug ausgibt, sind in core(5) beschrieben.)
                     Der Kernspeicherabzug trägt die Benutzer-Kennung (UID) des
                     erzeugenden Prozesses, es gibt keine Sicherheitsprüfungen.
                     Dies ist nur für die Fehlersuche im System gedacht: Dieser
                     Modus ist unsicher, da er es unprivilegierten Benutzern
                     erlaubt, die Speicherinhalte von privilegierten Prozessen
                     zu untersuchen.

              2 (»suidsafe«)
                     2 (»suidsafe«) Für alle Programme, für die normalerweise
                     kein Abzug erzeugt würde (siehe »0« oben), wird ein nur für
                     Root lesbarer Abzug erzeugt. Dadurch kann der Benutzer die
                     Kernspeicherabzugsdatei entfernen, sie aber nicht lesen.
                     Aus Sicherheitsgründen überschreiben Kernspeicherabzüge in
                     diesem Modus keine anderen Abzüge oder Dateien. Dieser
                     Modus eignet sich, wenn Administratoren Probleme in einer
                     normalen Umgebung untersuchen.

                     Zusätzlich muss wie in core(5) ausführlich beschrieben seit
                     Linux 3.6 /proc/sys/kernel/core_pattern entweder ein
                     absoluter Pfadname oder ein Pipe-Befehl sein. Falls
                     core_pattern diesen Regeln nicht folgt, werden in das
                     Kernelprotokoll Warnungen ausgegeben und kein
                     Kernspeicherabzug erstellt.

              Für Einzelheiten der Auswirkungen der »dumpable«-Einstellung eines
              Prozesses auf die Ptrace-Zugriffsmodusprüfung siehe ptrace(2).

       /proc/sys/fs/super-max
              Diese Datei steuert die maximale Anzahl der Superblocks und damit
              die maximale Anzahl von Dateisystemen, die der Kernel einhängen
              kann. Sie müssen nur super-max erhöhen, wenn Sie mehr Dateisysteme
              einhängen müssen, als der aktuelle Wert in super-max zulässt.

       /proc/sys/fs/super-nr
              Diese Datei enthält die Anzahl aktuell eingehängter Dateisysteme.

       /proc/sys/kernel
              Dieses Verzeichnis enthält Dateien, die eine Reihe von
              Kernel-Parametern steuern, wie es im Folgenden beschrieben wird.

       /proc/sys/kernel/acct
              Diese Datei enthält drei Zahlen: highwater, lowwater und
              frequency. Wenn BSD-Prozessabrechnung (accounting) aktiviert ist,
              steuern diese Werte ihr Verhalten. Wenn der freie Platz auf dem
              Dateisystem mit der Protokolldatei unter lowwater Prozent sinkt,
              wird die Abrechnung ausgesetzt. Wenn der freie Platz über
              highwater steigt, wird die Abrechnung fortgesetzt. frequency (Wert
              in Sekunden) legt fest, wie oft der Kernel die Größe des freien
              Speichers prüft. Standardwerte sind 4, 2 und 30: Die Abrechnung
              wird unter 2% freiem Speicher ausgesetzt, über 4% fortgesetzt und
              alle 30 Sekunden der freie Speicher überprüft.

       /proc/sys/kernel/auto_msgmni (Linux 2.6.27 bis 3.18)
              Von Linux 2.6.27 bis 3.18 wurde diese Datei dazu verwandt, die
              Neuberechnung des Werts in /proc/sys/kernel/msgmni, basierend auf
              der Hinzufügung oder der Entfernung von Speicher oder der
              Erstellung/Entfernung von IPC-Namensräumen, zu steuern. Wurde der
              Wert »1« per Echo in diese Datei geschrieben, wurde die
              automatische Neuberechnung von msgmni aktiviert (und eine
              Neuberechnung von msgmni basierend auf der aktuellen Menge von
              verfügbaren Speicher und der Anzahl von IPC-Namensräumen
              ausgelöst). Wurde »0« per Echo geschrieben, wurde die automatische
              Neuberechnung deaktiviert. (Die automatische Neuberechnung war
              auch deaktiviert, falls explizit ein Wert /proc/sys/kernel/msgmni
              zugewiesen worden war.) Der Vorgabewert in auto_msgmni war 1.

              Seit Linux 3.19 hat der Inhalt dieser Datei keinen Effekt (da
              msgmni standardmäßig fast den maximalen Wert enthält) und beim
              Lesen aus dieser Datei wird immer der Wert »0« zurückgeliefert.

       /proc/sys/kernel/cap_last_cap (seit Linux 3.2)
              siehe capabilities(7).

       /proc/sys/kernel/cap-bound (von Linux 2.2 bis 2.6.24)
              Diese Datei enthält den Wert der
              Kernel-Capability-Begrenzungsmenge (ausgedrückt als
              vorzeichenbehaftete Dezimalzahl). Dieser Satz wird logisch
              UND-verknüpft mit den Capabilities, die während execve(2)
              bestanden. Beginnend mit Linux 2.6.25 verschwand dieser Wert und
              wurde durch seine prozess-spezifische Variante ersetzt; siehe
              capabilities(7).

       /proc/sys/kernel/core_pattern
              siehe core(5)

       /proc/sys/kernel/core_pipe_limit
              siehe core(5)

       /proc/sys/kernel/core_uses_pid
              siehe core(5)

       /proc/sys/kernel/ctrl-alt-del
              Diese Datei steuert den Umgang mit Strg-Alt-Entf von der Tastatur.
              Wenn der Wert in dieser Datei 0 ist, wird Strg-Alt-Entf abgefangen
              und an das init(1)-Programm weitergeleitet, um einen
              ordnungsgemäßen Neustart auszulösen. Wenn der Wert größer als Null
              ist, wird Linux' Reaktion auf einen vulkanischen Nackengriff™ ein
              sofortiger Neustart sein, ohne auch nur seine schmutzigen Puffer
              zu synchronisieren. Anmerkung: Wenn ein Programm (wie DOSEMU) die
              Tastatur im »raw«-Modus betreibt, wird das Strg-Alt-Entf durch das
              Programm abgefangen, bevor es die Kernel-TTY-Schicht erreicht. Das
              Programm muss entscheiden, wie es damit umgeht.

       /proc/sys/kernel/dmesg_restrict (seit Linux 2.6.37)
              Der Wert in dieser Datei bestimmt, wer den Inhalt des Syslogs des
              Kernels sehen kann. Ein Wert von 0 in dieser Datei führt zu keinen
              Einschränkungen. Falls der Wert 1 ist, können nur privilegierte
              Benutzer den Syslog des Kernels lesen. (Siehe syslog(2) für
              weitere Details). Seit Linux 3.4 können nur Benutzer, die über das
              Capability CAP_SYS_ADMIN verfügen, den Wert dieser Datei ändern.

       /proc/sys/kernel/domainname und /proc/sys/kernel/hostname
              können benutzt werden, um den NIS/YP-Domainnamen und den Namen
              Ihres Systems auf genau dieselbe Weise wie mit den Befehlen
              domainname(1) und hostname(1) zu setzen. Also hat

                  # echo 'darkstar' > /proc/sys/kernel/hostname
                  # echo 'meineDomain' > /proc/sys/kernel/domainname

              den gleichen Effekt wie

                  # hostname 'darkstar'
                  # domainname 'meineDomain'

              Beachten Sie jedoch, dass der klassische darkstar.frop.org den
              Rechnernamen »darkstar« und den DNS-Domainnamen (Internet Domain
              Name Server) »frop.org« hat, der nicht mit den Domainnamen von NIS
              (Network Information Service) oder YP (Gelbe Seiten) verwechselt
              werden darf. Diese beiden Domainnamen sind in der Regel anders.
              Für eine ausführliche Diskussion siehe die Handbuchseite
              hostname(1).

       /proc/sys/kernel/hotplug
              Diese Datei enthält den Pfadnamen für das Programm zur Umsetzung
              der »Hotplug«-Richtlinie. Der Standardwert in dieser Datei ist
              /sbin/hotplug.

       /proc/sys/kernel/htab-reclaim (vor Linux 2.4.9.2)
              (nur PowerPC) Wenn diese Datei auf einen Wert ungleich Null
              gesetzt ist, wird die »PowerPC htab« (siehe Kernel-Datei
              Documentation/powerpc/ppc_htab.txt) jedesmal »zurückgeschnitten«,
              wenn das System in den Leerlauf geht.

       /proc/sys/kernel/keys/*
              Dieses Verzeichnis enthält verschiedene Dateien, die Parameter und
              Begrenzungen für die Schlüsselverwaltungseinrichtung definieren.
              Diese Dateien werden in keyrings(7) beschrieben.

       /proc/sys/kernel/kptr_restrict (seit Linux 2.6.38)
              Der Wert in dieser Datei bestimmt, ob die Kerneladressen mittels
              Dateien in /proc und anderen Schnittstellen offengelegt werden.
              Ein Wert von 0 in dieser Datei führt zu keinen Einschränkungen.
              Falls der Wert 1 ist, werden alle Kernelzeiger, die mittels des
              Formatkennzeichners %pK ausgegeben werden, durch Nullen ersetzt,
              es sei denn, der Benutzer verfügt über die Capability CAP_SYSLOG.
              Falls der Wert 2 ist, werden Kernelzeiger, die mittels des
              Formatkennzeichners %pK ausgegeben werden, durch Nullen ersetzt,
              unabhängig von den Capabilitys der Benutzer. Der ursprüngliche
              Vorgabewert dieser Datei war 1, aber die Vorgabe wurde in Linux
              2.6.39 auf 0 geändert. Seit Linux 3.4 können nur Benutzer mit der
              Capability CAP_SYS_ADMIN den Wert in dieser Datei ändern.

       /proc/sys/kernel/l2cr
              (nur PowerPC) Diese Datei enthält einen Schalter für die Steuerung
              des L2-Caches von Platinen mit dem G3-Prozessor. Der Wert 0
              deaktiviert den Cache, ein Wert ungleich null aktiviert ihn.

       /proc/sys/kernel/modprobe
              Diese Datei enthält den Pfadnamen zum Programm, das die
              Kernel-Module lädt, standardmäßig /sbin/modprobe. Diese Datei
              existiert nur, falls die Kernel-Option CONFIG_MODULES (CONFIG_KMOD
              in Linux 2.6.26 und älter) aktiviert ist. Diese wird in der
              Linux-Kernel-Quelldatei Documentation/kmod.txt beschrieben (nur in
              Kernel 2.4 und älter vorhanden).

       /proc/sys/kernel/modules_disabled (seit Linux 2.6.31)
              Ein Umschaltwert, der angibt, ob Module in einen andernfalls
              modularen Kernel geladen werden dürfen. Dieser Umschaltwert ist
              standardmäßig aus (0), kann aber auf wahr (true, 1) gesetzt
              werden. Sobald er wahr ist, können Module weder geladen noch
              entladen werden und der Umschaltwert kann nicht zurück auf falsch
              gesetzt werden. Diese Datei ist nur vorhanden, falls der Kernel
              mit der aktivierten Option CONFIG_MODULES gebaut wurde.

       /proc/sys/kernel/msgmax (seit Linux 2.2)
              Diese Datei enthält eine systemweite Begrenzung der Maximalzahl
              von Bytes, die eine einzelne Nachricht in einer
              System-V-Nachrichtenschlange enthalten darf.

       /proc/sys/kernel/msgmni (seit Linux 2.4)
              Diese Datei legt die systemweite Grenze für die Anzahl der
              Nachrichtenschlangen-Bezeichner fest. Siehe auch
              /proc/sys/kernel/auto_msgmni.

       /proc/sys/kernel/msgmnb (seit Linux 2.2)
              Diese Datei definiert einen systemweiten Parameter für die
              Initialisierung der Einstellung msg_qbytes für nachfolgend
              erstellte Nachrichtenschlangen. msg_qbytes legt fest, wie viele
              Bytes maximal in eine Nachrichtenschlange geschrieben werden
              dürfen.

       /proc/sys/kernel/ngroups_max (seit Linux 2.6.4)
              Dies ist eine nur lesbare Datei, die die obere Grenze für die
              Anzahl der Gruppenmitgliedschaften eines Prozesses anzeigt.

       /proc/sys/kernel/ns_last_pid (seit Linux 3.3)
              Siehe pid_namespaces(7).

       /proc/sys/kernel/ostype und /proc/sys/kernel/osrelease
              Diese Dateien enthalten Teilzeichenketten von /proc/version.

       /proc/sys/kernel/overflowgid und /proc/sys/kernel/overflowuid
              Diese Dateien duplizieren die Dateien /proc/sys/fs/overflowgid und
              /proc/sys/fs/overflowuid.

       /proc/sys/kernel/panic
              Diese Datei ermöglicht Lese- und Schreib-Zugriff auf die
              Kernel-Variable panic_timeout. Steht hier eine 0, dann bleibt der
              Kernel in einer Panic-Schleife; ungleich 0 bedeutet, dass der
              Kernel nach dieser Anzahl Sekunden automatisch das System wieder
              hochfahren soll. Wenn Sie die Laufzeitüberwachungs-Gerätetreiber
              (software watchdog device driver) nutzen, ist der empfohlene Wert
              60.

       /proc/sys/kernel/panic_on_oops (seit Linux 2.5.68)
              Diese Datei steuert das Verhalten des Kernels, wenn ein Problem
              (oops) oder ein Fehler aufgetreten ist. Falls diese Datei den Wert
              0 enthält, versucht das System eine Fortsetzung des Betriebs.
              Falls sie 1 enthält, gibt das System klogd ein paar Sekunden Zeit
              für die Protokollierung des Problems und verfällt dann in die
              »kernel panic«. Wenn in der Datei /proc/sys/kernel/panic ein Wert
              ungleich Null steht, wird der Rechner neu gestartet.

       /proc/sys/kernel/pid_max (seit Linux 2.5.34)
              Diese Datei gibt den Wert an, an dem PIDs überlaufen (d.h. der
              Wert in dieser Datei ist um eins größer als die maximal zulässige
              PID). PIDs größer als dieser Wert werden nicht zugewiesen; daher
              fungiert der Wert in dieser Datei auch als systemweite Grenze der
              Gesamtanzahl an Prozessen und Threads. Der Standardwert für diese
              Datei ist 32768; dieser bewirkt den gleichen PID-Bereich wie auf
              älteren Kerneln. Auf 32-Bit-Plattformen ist 32768 der Maximalwert.
              Auf 64-Bit-Systemen kann pid_max auf einen beliebigen Wert bis zu
              2^22 (PID_MAX_LIMIT, ungefähr 4 Millionen) gesetzt werden.

       /proc/sys/kernel/powersave-nap (nur PowerPC)
              Diese Datei enthält einen Schalter zur Steuerung von Linux-PPC.
              Ist er betätigt, wird Linux-PPC den »nap«-Energiesparmodus
              verwenden, ansonsten wird es der »doze«-Modus sein.

       /proc/sys/kernel/printk
              siehe syslog(2)

       /proc/sys/kernel/pty (seit Linux 2.6.4)
              Dieses Verzeichnis enthält zwei Dateien mit Bezug zu den
              Unix-98-Pseudoterminals (siehe pts(4)) des Systems.

       /proc/sys/kernel/pty/max
              Diese Datei definiert die Maximalzahl von Pseudoterminals.

       /proc/sys/kernel/pty/nr
              Diese (nur lesbare) Datei gibt die Anzahl der derzeit im System
              genutzten Pseudoterminals an

       /proc/sys/kernel/random
              Dieses Verzeichnis enthält verschiedene Parameter, um das
              Verhalten der Datei /dev/random zu steuern. random(4) gibt weitere
              Informationen.

       /proc/sys/kernel/random/uuid (seit Linux 2.4)
              Jeder Lesevorgang aus dieser nur lesbaren Datei liefert eine
              zufällig generierte 128-Bit UID als Zeichenkette, die im
              Standard-UID-Format ist, zurück.

       /proc/sys/kernel/randomize_va_space (seit Linux 2.6.12)
              Wählt die Adressraumlayoutverwürfelungsregelungen (ASLR) für das
              System aus (auf Architekturen, die ASLR unterstützen). Für diese
              Datei werden drei Werte unterstützt:

              0  Schaltet ASLR aus. Dies ist die Vorgabe für Architekturen, die
                 ASLR nicht unterstützen und wenn der Kernel mit dem Parameter
                 norandmaps gestartet wird.

              1  Macht die Zuweisung von Adressen durch mmap(2), den Stack und
                 die VDSO-Seite zufällig. Unter anderem bedeutet dies, dass
                 dynamische Bibliotheken an zufälligen Adressen geladen werden.
                 Das Textsegment von PIE-gelinkten Programmen wird auch an
                 zufälligen Adressen geladen. Dieser Wert ist die Vorgabe, falls
                 der Kernel mit CONFIG_COMPAT_BRK konfiguriert wurde.

              2  (Seit Linux 2.6.25) Speicherverwürfelung wird auch unterstützt.
                 Dieser Wert ist die Vorgabe, falls der Kernel nicht mit
                 CONFIG_COMPAT_BRK konfiguriert wurde.

       /proc/sys/kernel/real-root-dev
              Diese Datei wird in der Linux-Kernel-Quelldatei
              Documentation/admin-guide/initrd.rst (oder
              Documentation/initrd.txt vor Linux 4.10) beschrieben.

       /proc/sys/kernel/reboot-cmd (nur Sparc)
              Diese Datei scheint eine Möglichkeit zu sein, ein Argument an den
              SPARC-ROM/Flash-Bootloader zu übergeben. Vielleicht kann man ihm
              Anweisungen für die Zeit nach dem Neustart geben?

       /proc/sys/kernel/rtsig-max
              (Nur in Kerneln bis einschließlich 2.6.7; siehe setrlimit(2)). Mit
              dieser Datei kann die maximale Anzahl (anstehender) von
              POSIX-Echtzeit-Signalen eingestellt werden, die im System anstehen
              dürfen.

       /proc/sys/kernel/rtsig-nr
              (Nur in Kerneln bis einschließlich 2.6.7). Diese Datei gibt die
              Anzahl derzeit anstehender POSIX-Echtzeitsignale an.

       /proc/[pid]/sched_autogroup_enabled (seit Linux 2.6.38)
              siehe sched(7)

       /proc/sys/kernel/sched_child_runs_first (seit Linux 2.6.23)
              Falls diese Datei den Wert Null enthält, dann wird der
              Elternprozess zuerst nach einem fork(2) auf der CPU eingeplant.
              Andernfalls wird das Kind zuerst auf der CPU eingeplant. (Auf
              einem Mehrprozessorsystem können natürlich sowohl der
              Elternprozess als auch das Kind sofort auf einer CPU eingeplant
              werden.)

       /proc/sys/kernel/sched_rr_timeslice_ms (seit Linux 3.9)
              Siehe sched_rr_get_interval(2).

       /proc/sys/kernel/sched_rt_period_us (seit Linux 2.6.25)
              siehe sched(7)

       /proc/sys/kernel/sched_rt_runtime_us (seit Linux 2.6.25)
              siehe sched(7)

       /proc/sys/kernel/seccomp (seit Linux 4.14)
              Dieses Verzeichnis stellt zusätzliche Seccomp-Informationen und
              -konfigurationen bereit. Siehe seccomp(2) für weitere Details.

       /proc/sys/kernel/sem (since Linux 2.4)
              Diese Datei enthält vier Zahlen, die Grenzen für
              System-V-IPC-Semaphore definieren. Der Reihe nach sind das:

              SEMMSL  die maximale Anzahl von Semaphoren pro Satz von Semaphoren

              SEMMNS  eine systemweite Begrenzung für die Anzahl in allen
                      Semaphoren-Sätzen

              SEMOPM  die maximale Anzahl von Operationen, die in einem Aufruf
                      von semop(2) festgelegt werden dürfen

              SEMMNI  eine systemweite Grenze für die maximale Anzahl von
                      Bezeichnern für Semaphore.

       /proc/sys/kernel/sg-big-buff
              Diese Datei gibt die Größe der generischen Puffer für SCSI-Geräte
              an. Sie können den Wert derzeit nicht optimieren, aber bei der
              Kompilierung ändern, indem Sie include/scsi/sg.h bearbeiten und
              den Wert SG_BIG_BUFF anpassen. Es sollte aber keinen Grund geben,
              diesen Wert zu ändern.

       /proc/sys/kernel/shm_rmid_forced (seit Linux 3.1)
              Falls diese Datei auf 1 gesetzt wird, werden alle gemeinsam
              benutzten System-V-Speichersegmente für die Zerstörung, sobald die
              Anzahl der angehängten Prozesse auf Null fällt, markiert. Mit
              anderen Worten, es ist nicht mehr möglich, dass gemeinsam benutzte
              Speichersegmente unabhängig von angehängten Prozessen existieren.

              Der Effekt ist, als ob shmctl(2) IPC_RMID auf alle bestehenden und
              alle zukünftig erstellten Segmente angewandt würde (bis diese
              Datei auf 0 zurückgesetzt wird). Beachten Sie, dass bestehende
              Segmente, die an keinen Prozess angehängt sind, sofort beim Setzen
              der Datei auf 1 zerstört werden. Setzen dieser Option wird auch
              Segmente zerstören, die zwar erstellt, aber niemals angehängt
              wurden, sobald der Prozess, der das Segment mit shmget(2)
              erstellte, beendet wird.

              Wird diese Datei auf 1 gesetzt, ist es möglich, sicherzustellen,
              dass alle gemeinsam benutzten System-V-Speichersegmente beim
              Ressourcenverbrauch und den Ressourcenbegrenzungen bei mindestens
              einem Prozess berücksichtigt werden (siehe die Beschreibung von
              RLIMIT_AS in getrlimit(2)).

              Da durch Setzen der Datei auf 1 ein nicht standardisiertes
              Verhalten hervorgerufen wird und auch bestehende Anwendungen
              dadurch beschädigt werden könnten, ist der Vorgabewert in dieser
              Datei 0. Setzen Sie diese Datei nur auf 1, wenn Sie ein gutes
              Verständnis der Semantik der Anwendungen, die gemeinsam benutzte
              System-V-Speichersegmente auf Ihrem System benutzen, haben.

       /proc/sys/kernel/shmall (seit Linux 2.2)
              Diese Datei enthält die systemweite Grenze für die Gesamtzahl der
              Seiten im gemeinsam benutzten System-V-Speicher.

       /proc/sys/kernel/shmmax (seit Linux 2.2)
              Diese Datei kann genutzt werden, um die Laufzeitbeschränkung für
              die maximale Größe (System V IPC) für gemeinsame Speichersegmente
              festzulegen. Jetzt werden im Kernel gemeinsame Speichersegmente
              bis zu 1 GB unterstützt. Dieser Wert ist per Vorgabe SHMMAX.

       /proc/sys/kernel/shmmni (seit Linux 2.4)
              Diese Datei spezifiziert die systemweite maximale Anzahl von
              gemeinsam genutzten System-V-Speichersegmenten, die erzeugt werden
              können.

       /proc/sys/kernel/sysctl_writes_strict (seit Linux 3.16)
              Der Wert in dieser Datei bestimmt, wie der Dateiversatz das
              Verhalten der Aktualisierung von Einträgen in Dateien unter
              /proc/sys beeinflusst. Die Datei hat drei mögliche Werte:

              -1  Dies stellt das veraltete Verhalten bereit, ohne
                  Printk-Warnungen. Jeder write(2) muss den kompletten zu
                  schreibenden Wert enthalten und mehrere Schreibvorgänge auf
                  den gleichen Dateideskriptor werden unabhängig von der
                  Dateiposition den gesamten Wert überschreiben.

              0   (Vorgabe) Dies stellt das gleiche Verhalten wie bei -1 bereit,
                  aber Printk-Warnungen werden für Prozesse geschrieben, die
                  Schreibzugriffe ausführen, wenn der Dateiversatz nicht 0 ist.

              1   Respektiert den Dateiversatz beim Schreiben von Zeichenketten
                  in Dateien in /proc/sys. Mehrere Schreibvorgänge werden an den
                  Wertepuffer anhängen. Alles, was hinter die maximale Länge des
                  Puffers geschrieben wird, wird ignoriert. Schreibvorgänge an
                  numerische Einträge in /proc/sys müssen immer bei Dateiversatz
                  0 erfolgen und der Wert muss komplett in dem an write(2)
                  bereitgestellten Puffer enthalten sein.

       /proc/sys/kernel/sysrq
              Diese Datei steuert, welche Funktionen von dem SysRq-Schlüssel
              aufgerufen werden. Standardmäßig enthält die Datei den Wert 1. Das
              bedeutet, dass jede mögliche SysRq-Anfrage möglich ist. (In
              älteren Kernel-Versionen wurde SysRq standardmäßig deaktiviert und
              Sie mussten SysRq gesondert zur Laufzeit aktivieren, aber das ist
              nicht mehr notwendig). Mögliche Werte in dieser Datei sind:

              0    deaktiviert Sysrq komplett

              1    aktiviert alle Funktionen von Sysrq

              > 1  Bitmaske, die Sysrq-Funktione erlaubt, wie folgt:
                     2  aktiviert die Steuerung der
                        Konsolenprotokollierungsstufe
                     4  aktiviert die Steuerung der Tastatur (SAK, unraw)
                     8  aktiviert Speicherauszüge von Prozessen zur Fehlersuche
                        usw.
                    16  aktiviert den Befehl »sync«
                    32  aktiviert das nur lesende erneute Einhängen
                    64  aktiviert das Signalisieren von Prozessen (term, kill,
                        oom-kill)
                   128  erlaubt Neustarten/Ausschalten
                   256  Erlaubt die Veränderungen des Nice-Werts von
                        Echtzeitprozessen

              Diese Datei ist nur vorhanden, wenn die
              Kernel-Konfigurationsoption CONFIG_MAGIC_SYSRQ aktiviert wird. Für
              weitere Einzelheiten lesen Sie die Linux-Kernel-Quelltextdatei
              Documentation/admin-guide/sysrq.rst (oder Documentation/sysrq.txt
              vor Linux 4.10).

       /proc/sys/kernel/version
              Diese Datei enthält eine Zeichenkette wie beispielsweise:

                  #5 Wed Feb 25 21:49:24 MET 1998

              Die »#5« besagt, das dies der fünfte aus diesem Quelltext
              erstellte Kernel ist. Das anschließende Datum gibt an, wann der
              Kernel erstellt wurde.

       /proc/sys/kernel/threads-max (seit Linux 2.3.11)
              Diese Datei legt die systemweite Begrenzung für die Gesamtzahl der
              Threads (Prozesse) fest, die erstellt werden dürfen.

              Seit Linux 4.1 ist der Wert, den nach threads-max geschrieben
              werden kann, begrenzt. Der Minimalwert ist 20, der Maximalwert
              wird durch die Konstante FUTEX_TID_MASK (0x3fffffff) gegeben.
              Falls ein Wert außerhalb dieses Bereichs nach threads-max
              geschrieben wird, tritt der Fehler EINVAL auf.

              Der geschriebene Wert wird gegenüber den verfügbaren RAM-Seiten
              geprüft. Falls die Thread-Struktur zu viel (mehr als 1/8) der
              verfügbaren RAM-Seiten belegen würde, wird threads-max
              entsprechend reduziert.

       /proc/sys/kernel/yama/ptrace_scope (seit Linux 3.5)
              siehe ptrace(2).

       /proc/sys/kernel/zero-paged (nur PowerPC)
              Die Datei enthält einen Schalter. Ist er aktiviert (ungleich 0),
              wird Linux-PPC vorbeugend Seiten im Leerlauf auf Null setzen und
              beschleunigt möglicherweise get_free_pages.

       /proc/sys/net
              Dieses Verzeichnis enthält Netzwerkkram. Erklärungen für einige
              der Dateien in diesem Verzeichnis finden Sie in tcp(7) und ip(7).

       /proc/sys/net/core/bpf_jit_enable
              siehe bpf(2).

       /proc/sys/net/core/somaxconn
              Diese Datei enthält eine obere Grenze für das backlog-Argument von
              listen(2); siehe die Handbuchseite von listen(2) für Einzelheiten.

       /proc/sys/proc
              Dieses Verzeichnis kann leer sein.

       /proc/sys/sunrpc
              Dieses Verzeichnis unterstützt Suns »remote procedure call«
              (rpc(3)) für das Netzwerkdateisystem (NFS). Auf manchen Systemen
              fehlt es.

       /proc/sys/user (seit Linux 4.9)
              Siehe namespaces(7).

       /proc/sys/vm
              Dieses Verzeichnis enthält Dateien für die Optimierung der
              Speicherverwaltung und die Verwaltung der Puffer und Caches
              (Zwischenspeicher).

       /proc/sys/vm/admin_reserve_kbytes (seit Linux 3.10)
              Diese Datei definiert die Menge an freiem Speicher (in KiB) auf
              dem System, der für Benutzer mit der Capability CAP_SYS_ADMIN
              reserviert werden sollte.

              The default value in this file is the minimum of [3% of free
              pages, 8MiB] expressed as KiB.  The default is intended to provide
              enough for the superuser to log in and kill a process, if
              necessary, under the default overcommit 'guess' mode (i.e., 0 in
              /proc/sys/vm/overcommit_memory).

              Systems running in "overcommit never" mode (i.e., 2 in
              /proc/sys/vm/overcommit_memory)  should increase the value in this
              file to account for the full virtual memory size of the programs
              used to recover (e.g., login(1)  ssh(1), and top(1))  Otherwise,
              the superuser may not be able to log in to recover the system.
              For example, on x86-64 a suitable value is 131072 (128MiB
              reserved).

              Die Änderung des Wertes in dieser Datei tritt in Kraft, wann immer
              eine Anwendung Speicher anfordert.

       /proc/sys/vm/compact_memory (seit Linux 2.6.35)
              Wenn 1 in diese Datei geschrieben wird, werden alle Zonen
              zusammengefasst, so dass der freie Speicher wo möglich in
              durchlaufenden Blöcken verfügbar ist. Der Effekt dieser Aktion
              kann durch Einsicht in /proc/buddyinfo geprüft werden.

              Nur vorhanden, falls der Kernel mit CONFIG_COMPACTION konfiguriert
              wurde.

       /proc/sys/vm/drop_caches (seit Linux 2.6.16)
              Das Schreiben in diese Datei veranlasst den Kernel, saubere
              Zwischenspeicher, Dentries und Inodes aus dem Speicher zu
              verwerfen, was dazu führt, dass Speicher frei wird. Dies kann für
              das Testen der Speicherverwaltung und der Durchführung
              reproduzierbarer Dateisystembewertungen nützlich sein. Da das
              Schreiben in diese Datei dazu führt, dass die Vorteile der
              Zwischenspeicherung verloren gehen, kann es die Leistung des
              gesamten Systems vermindern.

              Zur Freigabe des Seitenzwischenspeichers, verwenden Sie:

                  echo 1 > /proc/sys/vm/drop_caches

              Zur Freigabe der Dentries und Inodes, verwenden Sie:

                  echo 2 > /proc/sys/vm/drop_caches

              Zur Freigabe des Seitenzwischenspeichers, der Dentries und Inodes,
              verwenden Sie:

                  echo 3 > /proc/sys/vm/drop_caches

              Da das Schreiben in diese Datei unschädlich ist und geänderte
              (schmutzige) Objekte nicht freigegeben werden können, sollte der
              Benutzer vorher sync(8) aufrufen.

       /proc/sys/vm/legacy_va_layout (seit Linux 2.6.9)
              Wenn ungleich Null, deaktiviert dies das neue 32-Bit-Layout für
              das »Memory Mapping«, der Kernel wird das alte (2.4) Layout für
              alle Prozesse anwenden.

       /proc/sys/vm/memory_failure_early_kill (seit Linux 2.6.32)
              Steuert, wie Prozesse beendet werden, wenn ein nicht korrigierter
              Speicherfehler (in der Regel ein 2-Bit-Fehler in einem
              Speichermodul), den der Kernel nicht bearbeiten kann, im
              Hintergrund durch die Hardware erkannt wird. In einigen Fällen
              (wenn es von der Seite noch eine gültige Kopie auf der Festplatte
              gibt), wird der Kernel den Fehler behandeln, ohne alle Anwendungen
              zu beeinträchtigen. Aber wenn es keine weitere aktuelle Kopie der
              Daten gibt, wird er Prozesse abbrechen, um die Verbreitung
              korrumpierter Daten zu unterbinden.

              Die Datei hat einen der folgenden Werte:

              1:  Bricht alle Prozesse ab, in deren Speicher die beschädigte und
                  nicht erneut ladbare Seite gemappt ist, sobald die
                  Beschädigung erkannt wird. Beachten Sie, dass dies nicht für
                  einige spezielle Seitentypen wie Kernel-intern zugewiesene
                  Daten oder den Auslagerungszwischenspeicher unterstützt wird,
                  es funktioniert aber für die Mehrheit der Anwenderseiten.

              0:  Die beschädigte Seite aus allen Prozesse ausmappen und einen
                  Prozess nur töten, falls er versucht, auf die Seite
                  zuzugreifen.

              Der Abbruch wird mittels eines SIGBUS-Signals erledigt, bei dem
              der si_code auf BUS_MCEERR_AO gesetzt wird. Prozesse können darauf
              reagieren, wenn sie wollen; siehe sigaction(2) für weitere
              Einzelheiten.

              Diese Funktionalität ist nur auf Architekturen/Plattformen aktiv,
              die über eine ausgefeilte Handhabung von »machine checks« verfügen
              und hängt von den Fähigkeiten der Hardware ab.

              Anwendungen können die Einstellung memory_failure_early_kill
              individuell mit der prctl(2)-Operation  PR_MCE_KILL außer Kraft
              setzen.

              Nur vorhanden, falls der Kernel mit CONFIG_MEMORY_FAILURE
              konfiguriert wurde.

       /proc/sys/vm/memory_failure_recovery (seit Linux 2.6.32)
              Aktiviert die Behebung von Speicherfehlern (wenn das von der
              Plattform unterstützt wird).

              1:  Fehlerbehebung versuchen.

              0:  Bei Speicherfehlern immer eine Kernel Panic auslösen.

              Nur vorhanden, falls der Kernel mit CONFIG_MEMORY_FAILURE
              konfiguriert wurde.

       /proc/sys/vm/oom_dump_tasks (seit Linux 2.6.25)
              Ermöglicht einen systemweiten Speicherauszug der Prozesse (ohne
              Kernel-Threads), wenn der Kernel bei Speicherknappheit Prozesse
              abbricht (OOM-Killer). Der Speicherauszug enthält die folgenden
              Informationen für jeden Prozess (Thread, Prozess): Thread-Kennung,
              reale Benutzerkennung, Thread-Gruppenkennung (Prozesskennung),
              Größe des virtuellen Speichers, Größe des Resident Set, die CPU,
              auf der der Prozess laufen soll, die oom_adj-Bewertung (siehe die
              Beschreibung von /proc/[PID]/oom_adj) und der Name des Befehls.
              Dies ist hilfreich, um festzustellen, warum der OOM-Killer
              aufgerufen wurde und um die außer Kontrolle geratenen Prozesse zu
              identifizieren.

              Ist der Wert in der Datei Null, wird diese Information
              unterdrückt. Auf sehr großen Systemen mit Tausenden von Prozessen
              wird es kaum praktikabel sein, für alle Prozesse den
              Speicherstatus auszugeben. Solche Systeme sollten nicht gezwungen
              werden, bei OOM-Situationen Leistungseinbußen zu erleiden, wenn
              die Informationen nicht gewünscht werden.

              Ist der Wert von Null verschieden, werden diese Informationen
              jedesmal ausgegeben, wenn der OOM-Killer einen speicherhungrigen
              Prozess ins Jenseits schickt.

              Der Standardwert ist 0.

       /proc/sys/vm/oom_kill_allocating_task (seit Linux 2.6.24)
              Dies aktiviert oder deaktiviert das Beenden des OOM-auslösenden
              Prozesses bei Speicherknappheit.

              Ist der Wert null, wertet der OOM-Killer die gesamte Taskliste aus
              und wählt heuristisch einen Prozess als Opfer aus. Normalerweise
              wählt er einen speicherhungrigen, außer Kontrolle geratenenen Task
              aus, dessen Tod sehr viel Speicher freigibt.

              Ist der Wert ungleich Null, tötet der OOM-Killer den Prozess, der
              die Speicherknappheit auslöste. Dadurch wird eine möglicherweise
              aufwändige Analyse der Taskliste vermieden.

              Falls /proc/sys/vm/panic_on_oom von null verschieden ist, hat das
              Vorrang vor dem Wert in /proc/sys/vm/oom_kill_allocating_task, was
              auch immer darin steht.

              Der Standardwert ist 0.

       /proc/sys/vm/overcommit_kbytes (seit Linux 3.14)
              This writable file provides an alternative to
              /proc/sys/vm/overcommit_ratio for controlling the CommitLimit when
              /proc/sys/vm/overcommit_memory has the value 2.  It allows the
              amount of memory overcommitting to be specified as an absolute
              value (in kB), rather than as a percentage, as is done with
              overcommit_ratio.  This allows for finer-grained control of
              CommitLimit on systems with extremely large memory sizes.

              Nur entweder overcommit_kbytes oder overcommit_ratio kann einen
              Effekt haben. Falls overcommit_kbytes einen von Null verschiedenen
              Wert enthält, dann wird dieser zur Berechnung von CommitLimit
              verwandt, andernfalls wird overcommit_ratio verwandt. Wird in eine
              der beiden Dateien geschrieben, dann wird der Wert in der anderen
              auf Null gesetzt.

       /proc/sys/vm/overcommit_memory
              Diese Datei legt den Abrechnungsmodus des Kernels für virtuellen
              Speicher fest. Die Werte sind:

                     0: heuristic overcommit (this is the default)
                     1: always overcommit, never check
                     2: always check, never overcommit

              In Modus 0 werden Aufrufe von mmap(2) mit MAP_NORESERVE nicht
              überprüft. Damit ist die Standardprüfung sehr schwach und setzt
              den Prozess dem Risiko aus, zum Opfer des OOM-Killers zu werden.

              In Modus 1 gibt der Kernel immer vor, noch über Speicher zu
              verfügen, bis der Speicher schließlich wirklich erschöpft ist. Ein
              Einsatzzweck stellt das wissenschaftliche Rechnen dar, bei denen
              große, kaum besetzte Felder eingesetzt werden. In
              Linux-Kernelversionen vor 2.6.0 impliziert jeder von Null
              verschiedene Wert den Modus 1.

              In Modus 2 (verfügbar seit Linux 2.6) wird der reservierbare
              gesamte virtuelle Adressraum (CommitLimit in /proc/meminfo) wie
              folgt berechnet:

                  CommitLimit = (total_RAM - total_huge_TLB) *
                                overcommit_ratio / 100 + total_swap

              wobei:

                   *  total_RAM ist der gesamte RAM des Systems

                   *  total_huge_TLB ist die für große Speicherseiten beiseite
                      gestellte Speichermenge

                   *  overcommit_ratio ist der Wert aus
                      /proc/sys/vm/overcommit_ratio

                   *  total_swap ist die Menge des Auslagerungsbereichs.

              Beispielsweise ergibt diese Formel auf einem System mit 16 GB an
              physischem RAM, 16 GB an Auslagerungsspeicher, keinen für große
              Speicherseiten gewidmeten Bereich und einem overcommit_ratio von
              50 ein CommitLimit von 24 GB.

              Falls der Wert in /proc/sys/vm/overcommit_kbytes von Null
              verschieden ist, wird CommitLimit stattdessen seit Linux 3.14 wie
              folgt berechnet:

                  CommitLimit = overcommit_kbytes + total_swap

              Siehe auch die Beschreibung von /proc/sys/vm/admin_reserve_kbytes
              und /proc/sys/vm/user_reserve_kbytes.

       /proc/sys/vm/overcommit_ratio (seit Linux 2.6.0)
              This writable file defines a percentage by which memory can be
              overcommitted.  The default value in the file is 50.  See the
              description of /proc/sys/vm/overcommit_memory.

       /proc/sys/vm/panic_on_oom (seit Linux 2.6.18)
              Dies aktiviert oder deaktiviert eine Kernel-Panik bei
              Speicherknappheit.

              Wenn diese Datei auf den Wert 0 gesetzt wird, wird der OOM-Killer
              des Kernels einen außer Kontrolle geratenen Prozess töten.
              Normalerweise findet er einen außer Kontrolle geratenen Prozess
              und das System überlebt.

              Wenn diese Datei auf den Wert 1 gesetzt ist, verfällt der Kernel
              in Panik, wenn Speicherknappheit eintritt. Wenn allerdings ein
              Prozess die Zuweisungen an bestimmte Knoten mit Speicherstrategien
              (mbind(2) MPOL_BIND) oder Cpusets (cpuset(7)) begrenzt und die
              Knoten einen Speichererschöpfungs-Zustand erreichen, kann ein
              Prozess vom OOM-Killer getötet werden. In diesem Fall tritt keine
              Panik ein: Weil der Speicher anderer Knoten noch frei sein kann,
              muss das System noch nicht als ganzes unter Speicherknappheit
              leiden.

              Wenn diese Datei schon auf den Wert 2 gesetzt ist, wird bei
              Speicherknappheit immer eine Kernel-Panik ausgelöst.

              Der Standardwert ist 0. 1 und 2 sind für die Ausfallsicherung in
              Clustern bestimmt. Wählen Sie den Wert entsprechend ihrer
              Strategie oder im Sinn der Ausfallsicherung.

       /proc/sys/vm/swappiness
              Der Wert in dieser Datei legt fest, wie aggressiv der Kernel
              Speicherseiten auslagert. Hohe Werte machen ihn aggressiver,
              kleinere Werte sanftmütiger. Der Standardwert ist 60.

       /proc/sys/vm/user_reserve_kbytes (seit Linux 3.10)
              Specifies an amount of memory (in KiB) to reserve for user
              processes.  This is intended to prevent a user from starting a
              single memory hogging process, such that they cannot recover (kill
              the hog).  The value in this file has an effect only when
              /proc/sys/vm/overcommit_memory is set to 2 ("overcommit never"
              mode).  In this case, the system reserves an amount of memory that
              is the minimum of [3% of current process size,
              user_reserve_kbytes].

              Der Vorgabewert in dieser Datei ist der kleinere Wert aus [3% der
              freien Seiten, 128 MiB], ausgedrückt in KiB.

              Falls der Wert in dieser Datei auf Null gesetzt wird, darf ein
              Benutzer sämtlichen Speicher durch einen einzelnen Prozess belegen
              (abzüglich der durch /proc/sys/vm/admin_reserve_kbytes
              reservierten Menge). Alle nachfolgenden Versuche, einen Befehl
              auszuführen, führen dann zu »fork: Cannot allocate memory«.

              Die Änderung des Wertes in dieser Datei tritt in Kraft, wann immer
              eine Anwendung Speicher anfordert.

       /proc/sys/vm/unprivileged_userfaultfd (seit Linux 5.2)
              Diese (schreibbare) Datei legt einen Schalter offen, der steuert,
              ob nicht privilegierten Prozessen erlaubt wird, userfaultfd(2)
              einzusetzen. Falls diese Datei den Wert 1 enthält, dann dürfen
              nicht privilegierte Prozesse userfaultfd(2) verwenden. Falls diese
              Datei den Wert 0 enthält, dann dürfen nur Prozesse, die über die
              Capability CAP_SYS_PTRACE verfügen, userfaultfd(2) einsetzen. Der
              Vorgabewert in dieser Datei ist 1.

       /proc/sysrq-trigger (seit Linux 2.4.21)
              Wird ein Zeichen in diese Datei geschrieben, löst das die gleiche
              SysRq-Funktion aus wie die Eingabe von ALT-SysRq-<Zeichen> (siehe
              die Beschreibung von /proc/sys/kernel/sysrq). Normalerweise kann
              nur root in diese Datei schreiben. Weitere Informationen enthält
              die Linux-Kernel-Quelltextdatei
              Documentation/admin-guide/sysrq.rst (oder Documentation/sysrq.txt
              vor Linux 4.10).

       /proc/sysvipc
              Dieses Unterverzeichnis enthält die Pseudodateien msg, sem und
              shm. Diese Dateien listen die aktuell im System befindlichen
              System-V-IPC-Objekte (IPC: Interprozess-Kommunikation), also
              Nachrichtenschlangen, Semaphore und gemeinsam genutzter Speicher
              auf. Sie enthalten ähnliche Informationen wie die, die mit ipcs(1)
              erhalten werden können. Diese Zeilen haben Kopfzeilen und sind
              zwecks besserer Verständlichkeit formatiert (ein IPC-Objekt pro
              Zeile). sysvipc(7) bietet weiteren Hintergrund zu den von diesen
              Dateien bereitgestellten Informationen.

       /proc/thread-self (seit Linux 3.17)
              Dieses Verzeichnis bezieht sich auf den Thread, der auf das
              /proc-Dateisystem zugreift und ist mit dem
              /proc/self/task/[TID]-Verzeichnis identisch, das als Namen die
              Prozess-Thread-Nummer dieses Threads hat.

       /proc/timer_list (seit Linux 2.6.21)
              Diese nur lesbare Datei enthält in einer Menschen-lesbaren Form
              eine Liste aller derzeit anhängenden (hochauflösenden) Timer,
              aller Uhrereignis-Quellen und ihrer Parameter.

       /proc/timer_stats (von Linux 2.6.21 bis Linux 4.10)
              Dies ist eine Fehlersucheinrichtung, um Timer-(Miss)brauch in
              einem Linux-System für Kernel- und Anwendungsentwickler sichtbar
              zu machen. Sie kann von Kernel- und Anwendungsentwicklern verwandt
              werden, um zu überprüfen, dass ihr Code keinen ungebührlichen
              Gebrauch von Timern macht. Das Ziel besteht darin, unnötige
              Aufwachaktionen zu vermeiden und damit die Leistungsaufnahme zu
              optimieren.

              Falls im Kernel (CONFIG_TIMER_STATS) aktiviert aber nicht
              verwandt, hat es fast keinen Laufzeit-Zusatzaufwand und einen
              relativ kleinen Datenstruktur-Zusatzaufwand. Selbst falls die
              Datensammlung zur Laufzeit aktiviert wird, ist der Zusatzaufwand
              klein: Alle Sperren erfolgen pro CPU und das Nachschlagen erfolgt
              über einen Hash.

              Die Datei /proc/timer_stats wird zum Steuern der
              Abtast-Einrichtung und zum Auslesen der abgetasteten Informationen
              verwandt.

              Die Funktionalität rtimer_stats ist beim Systemstart inaktiv. Eine
              Abtastperiode kann mittels des folgenden Befehls gestartet werden:

                  # echo 1 > /proc/timer_stats

              Der folgende Befehl beendet eine Abtastperiode:

                  # echo 0 > /proc/timer_stats

              Die Statistiken können wie folgt ermittelt werden:

                  $ cat /proc/timer_stats

              Während das Abtasten aktiviert ist, wird bei jedem Lesen aus
              /proc/timer_stats eine neu aktualisierte Statistik gesehen. Sobald
              das Abtasten deaktiviert ist, wird die abgetastete Information
              beibehalten, bis eine neue Abtastperiode begonnen wird. Dies
              erlaubt mehrfaches Auslesen.

              Beispielausgabe aus /proc/timer_stats:

                  $ cat /proc/timer_stats
                  Timer Stats Version: v0.3
                  Sample period: 1.764 s
                  Collection: active
                    255,     0 swapper/3        hrtimer_start_range_ns (tick_sched_timer)
                     71,     0 swapper/1        hrtimer_start_range_ns (tick_sched_timer)
                     58,     0 swapper/0        hrtimer_start_range_ns (tick_sched_timer)
                      4,  1694 gnome-shell      mod_delayed_work_on (delayed_work_timer_fn)
                     17,     7 rcu_sched        rcu_gp_kthread (process_timeout)
                  ...
                      1,  4911 kworker/u16:0    mod_delayed_work_on (delayed_work_timer_fn)
                     1D,  2522 kworker/0:0      queue_delayed_work_on (delayed_work_timer_fn)
                  1029 total events, 583.333 events/sec

              Die Ausgabespalten sind wie folgt:

              *  eine Anzahl der Ereignisse, optional (seit Linux 2.6.23)
                 gefolgt von dem Buchstaben »D«, falls dies ein aufschiebbarer
                 Timer ist;

              *  die PID des Prozesses, die den Timer initialisierte,

              *  der Namen des Prozesses, der den Timer initialisierte,

              *  die Funktion, in der der Timer initalisiert wurde, und

              *  (in Klammern) die Callback-Funktion, die diesem Timer
                 zugeordnet ist.

              Während des Linux-4.11-Entwicklungszyklus wurde diese Datei
              aufgrund von Sicherheitsbedenken entfernt, da sie Informationen
              über Namensräume hinweg offenlegt. Desweiteren ist es möglich, die
              gleichen Informationen über kernelinterne
              Nachverfolgungseinrichtungen wie Ftrace zu ermitteln.

       /proc/tty
              Unterverzeichnis mit Pseudodateien und -Unterverzeichnissen für
              tty-Treiber und »line disciplines«.

       /proc/uptime
              Diese Datei enthält zwei Zahlen (Werte in Sekunden): die Laufzeit
              des Systems (einschließlich der in Suspendierung verbrachten Zeit)
              und die Dauer, die im Leerlaufprozess verbracht wurde.

       /proc/version
              Diese Zeichenkette identifiziert den gerade laufenden Kernel. Er
              fasst die Inhalte von /proc/sys/kernel/ostype,
              /proc/sys/kernel/osrelease und /proc/sys/kernel/version zusammen.
              Beispielsweise:

                  Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994

       /proc/vmstat (seit Linux 2.6.0)
              Die Datei zeigt verschiedene Statistiken des virtuellen Speichers.
              Jede Zeile dieser Datei enthält ein einzelnes Name-Wert-Paar,
              getrennt durch Leerzeichen. Einige Zeilen sind nur vorhanden,
              falls der Kernel mit geeigneten Optionen konfiguriert wurde. (In
              einigen Fällen haben sich die Optionen für bestimmte Dateien über
              Kernelversionen hinweg geändert, so dass sie hier nicht aufgeführt
              sind. Details können durch Einsicht in den Kernelquellcode
              gefunden werden.) Die folgenden Felder können vorhanden sein:

              nr_free_pages (seit Linux 2.6.31)

              nr_alloc_batch (seit Linux 3.12)

              nr_inactive_anon (seit Linux 2.6.28)

              nr_active_anon (seit Linux 2.6.28)

              nr_inactive_file (seit Linux 2.6.28)

              nr_active_file (seit Linux 2.6.28)

              nr_unevictable (seit Linux 2.6.28)

              nr_mlock (seit Linux 2.6.28)

              nr_anon_pages (seit Linux 2.6.18)

              nr_mapped (seit Linux 2.6.0)

              nr_file_pages (seit Linux 2.6.18)

              nr_dirty (seit Linux 2.6.0)

              nr_writeback (seit Linux 2.6.0)

              nr_slab_reclaimable (seit Linux 2.6.19)

              nr_slab_unreclaimable (seit Linux 2.6.19)

              nr_page_table_pages (seit Linux 2.6.0)

              nr_kernel_stack (seit Linux 2.6.32)
                     Teil des Speichers, der Kernel-Stacks zugewiesen wurde.

              nr_unstable (seit Linux 2.6.0)

              nr_bounce (seit Linux 2.6.12)

              nr_vmscan_write (seit Linux 2.6.19)

              nr_vmscan_immediate_reclaim (seit Linux 3.2)

              nr_writeback_temp (seit Linux 2.6.26)

              nr_isolated_anon (seit Linux 2.6.32)

              nr_isolated_file (seit Linux 2.6.32)

              nr_shmem (seit Linux 2.6.32)
                     Durch Shmem und tmpfs(5) verwandte Seiten

              nr_dirtied (seit Linux 2.6.37)

              nr_written (seit Linux 2.6.37)

              nr_pages_scanned (seit Linux 3.17)

              numa_hit (seit Linux 2.6.18)

              numa_miss (seit Linux 2.6.18)

              numa_foreign (seit Linux 2.6.18)

              numa_interleave (seit Linux 2.6.18)

              numa_local (seit Linux 2.6.18)

              numa_other (seit Linux 2.6.18)

              workingset_refault (seit Linux 3.15)

              workingset_activate (seit Linux 3.15)

              workingset_nodereclaim (seit Linux 3.15)

              nr_anon_transparent_hugepages (seit Linux 2.6.38)

              nr_free_cma (seit Linux 3.7)
                     Anzahl an freien CMA- (Contiguous Memory Allocator) Seiten.

              nr_dirty_threshold (seit Linux 2.6.37)

              nr_dirty_background_threshold (seit Linux 2.6.37)

              pgpgin (seit Linux 2.6.0)

              pgpgout (seit Linux 2.6.0)

              pswpin (seit Linux 2.6.0)

              pswpout (seit Linux 2.6.0)

              pgalloc_dma (seit Linux 2.6.5)

              pgalloc_dma32 (seit Linux 2.6.16)

              pgalloc_normal (seit Linux 2.6.5)

              pgalloc_high (seit Linux 2.6.5)

              pgalloc_movable (seit Linux 2.6.23)

              pgfree (seit Linux 2.6.0)

              pgactivate (seit Linux 2.6.0)

              pgdeactivate (seit Linux 2.6.0)

              pgfault (seit Linux 2.6.0)

              pgmajfault (seit Linux 2.6.0)

              pgrefill_dma (seit Linux 2.6.5)

              pgrefill_dma32 (seit Linux 2.6.16)

              pgrefill_normal (seit Linux 2.6.5)

              pgrefill_high (seit Linux 2.6.5)

              pgrefill_movable (seit Linux 2.6.23)

              pgsteal_kswapd_dma (seit Linux 3.4)

              pgsteal_kswapd_dma32 (seit Linux 3.4)

              pgsteal_kswapd_normal (seit Linux 3.4)

              pgsteal_kswapd_high (seit Linux 3.4)

              pgsteal_kswapd_movable (seit Linux 3.4)

              pgsteal_direct_dma

              pgsteal_direct_dma32 (seit Linux 3.4)

              pgsteal_direct_normal (seit Linux 3.4)

              pgsteal_direct_high (seit Linux 3.4)

              pgsteal_direct_movable (seit Linux 2.6.23)

              pgscan_kswapd_dma

              pgscan_kswapd_dma32 (seit Linux 2.6.16)

              pgscan_kswapd_normal (seit Linux 2.6.5)

              pgscan_kswapd_high

              pgscan_kswapd_movable (seit Linux 2.6.23)

              pgscan_direct_dma

              pgscan_direct_dma32 (seit Linux 2.6.16)

              pgscan_direct_normal

              pgscan_direct_high

              pgscan_direct_movable (seit Linux 2.6.23)

              pgscan_direct_throttle (seit Linux 3.6)

              zone_reclaim_failed (seit Linux 2.6.31)

              pginodesteal (seit Linux 2.6.0)

              slabs_scanned (seit Linux 2.6.5)

              kswapd_inodesteal (seit Linux 2.6.0)

              kswapd_low_wmark_hit_quickly (seit 2.6.33)

              kswapd_high_wmark_hit_quickly (seit 2.6.33)

              pageoutrun (seit Linux 2.6.0)

              allocstall (seit Linux 2.6.0)

              pgrotated (seit Linux 2.6.0)

              drop_pagecache (seit Linux 3.15)

              drop_slab (seit Linux 3.15)

              numa_pte_updates (seit Linux 3.8)

              numa_huge_pte_updates (seit Linux 3.13)

              numa_hint_faults (seit Linux 3.8)

              numa_hint_faults_local (seit Linux 3.8)

              numa_pages_migrated (seit Linux 3.8)

              pgmigrate_success (seit Linux 3.8)

              pgmigrate_fail (seit Linux 3.8)

              compact_migrate_scanned (seit Linux 3.8)

              compact_free_scanned (seit Linux 3.8)

              compact_isolated (seit Linux 3.8)

              compact_stall (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              compact_fail (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              compact_success (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              htlb_buddy_alloc_success (seit Linux 2.6.26)

              htlb_buddy_alloc_fail (seit Linux 2.6.26)

              unevictable_pgs_culled (seit Linux 2.6.28)

              unevictable_pgs_scanned (seit Linux 2.6.28)

              unevictable_pgs_rescued (seit Linux 2.6.28)

              unevictable_pgs_mlocked (seit Linux 2.6.28)

              unevictable_pgs_munlocked (seit Linux 2.6.28)

              unevictable_pgs_cleared (seit Linux 2.6.28)

              unevictable_pgs_stranded (seit Linux 2.6.28)

              thp_fault_alloc (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              thp_fault_fallback (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              thp_collapse_alloc (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              thp_collapse_alloc_failed (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              thp_split (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              thp_zero_page_alloc (seit Linux 3.8)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              thp_zero_page_alloc_failed (seit Linux 3.8)
                     Siehe die Kernel-Quelldatei
                     Documentation/admin-guide/mm/transhuge.rst.

              balloon_inflate (seit Linux 3.18)

              balloon_deflate (seit Linux 3.18)

              balloon_migrate (seit Linux 3.18)

              nr_tlb_remote_flush (seit Linux 3.12)

              nr_tlb_remote_flush_received (seit Linux 3.12)

              nr_tlb_local_flush_all (seit Linux 3.12)

              nr_tlb_local_flush_one (seit Linux 3.12)

              vmacache_find_calls (seit Linux 3.16)

              vmacache_find_hits (seit Linux 3.16)

              vmacache_full_flushes (seit Linux 3.19)

       /proc/zoneinfo (since Linux 2.6.13)
              Diese Datei enthält Informationen über Speicherbereiche. Sie ist
              für die Analyse des Verhaltens des virtuellen Speichers nützlich.

ANMERKUNGEN
       Viele Dateien enthalten Zeichenketten (z. B. die Umgebung und die
       Befehlszeile), die im internen Format dargestellt sind, wobei Unterfelder
       mit NULL-Bytes (›\0‹) begrenzt werden. Beim Untersuchen dieser Dateien
       werden Sie diese vielleicht besser lesbar finden, wenn Sie einen Befehl
       der folgenden Art zur Anzeige verwenden:

           $ cat Datei | tr '\000' '\n'

       Diese Handbuchseite ist unvollständig, möglicherweise stellenweise
       ungenau und ein Beispiel für etwas, das ständig überarbeitet werden muss.

SIEHE AUCH
       cat(1), dmesg(1), find(1), free(1), htop(1), init(1), ps(1), pstree(1),
       tr(1), uptime(1), chroot(2), mmap(2), readlink(2), syslog(2),
       slabinfo(5), sysfs(5), hier(7), namespaces(7), time(7), arp(8),
       hdparm(8), ifconfig(8), lsmod(8), lspci(8), mount(8), netstat(8),
       procinfo(8), route(8), sysctl(8)

       Die Linux-Kernelquelldateien: Documentation/filesystems/proc.txt,
       Documentation/sysctl/fs.txt, Documentation/sysctl/kernel.txt,
       Documentation/sysctl/net.txt und Documentation/sysctl/vm.txt.

KOLOPHON
       Diese Seite ist Teil der Veröffentlichung 5.11 des Projekts
       Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie
       Fehler gemeldet werden können sowie die aktuelle Version dieser Seite
       finden sich unter https://www.kernel.org/doc/man-pages/.


ÜBERSETZUNG
       Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard
       Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer
       <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>, Erik Pfannenstein
       <debianignatz@gmx.de> und Helge Kreutzmann <debian@helgefjell.de>
       erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General
       Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder
       neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
       Sie bitte eine E-Mail an die Mailingliste der Übersetzer ⟨debian-l10n-
       german@lists.debian.org⟩.



Linux                             22. März 2021                          PROC(5)