proc_pid_fd(5) File Formats Manual proc_pid_fd(5) BEZEICHNUNG /proc/pid/fd/ - Dateideskriptoren BESCHREIBUNG /proc/PID/fd/ In diesem Unterverzeichnis stehen die Dateideskriptoren der von diesem Prozess geoffneten Dateien. Diese Eintrage sind symbolische Links zu den eigentlichen Dateien. Also ist 0 die Standardeingabe, 1 ist die Standardausgabe, 2 ist der Standardfehlerkanal usw. Fur Dateideskriptoren fur Pipes und Sockets werden die Eintrage 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 zuruck: Typ:[Inode] Beispielsweise wird socket:[2248868] ein Socket sein, dessen Inode 2248868 ist. Fur Sockets kann dieser Inode dazu verwandt werden, weitere Informationen in einem der Dateien unter /proc/net/ zu finden. Fur 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) Fallen 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 verfugbar, 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 ubergeben wird, aber bei fehlendem Argument nicht in die Standardausgabe ausgeben, konnen 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-ahnlichen Systemen. Die meisten MAKEDEV-Skripte legen tatsachlich 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 konnte 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-Zugriffsmodusprufung PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2). Beachten Sie, dass fur Dateideskriptoren, die sich auf Inodes beziehen (Pipes und Sockets, siehe oben), diese Inodes immer noch die von den Eintragen /proc/PID/fd verschiedenen Berechtigungsbits und Eigentumerinformationen haben und dass sich der Eigentumer von den Benutzer- und Gruppenkennungen des Prozesses unterscheiden kann. Einem nicht privilegierten Prozess konnten die Rechte zum Offnen 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 uber die Berechtigungen verfugt, um einen neuen Dateideskriptor zu erstellen, um von dieser Inode zu lesen, obwohl es immer noch vom existierenden Dateideskriptor 0 lesen kann. SIEHE AUCH proc(5) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Dr. Tobias Quathamer , Chris Leick , Erik Pfannenstein und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.18 8. Februar 2026 proc_pid_fd(5)