.\" -*- coding: UTF-8 -*- .\" Copyright 1994-1995, Daniel Quinlan .\" Copyright 2002-2017, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH proc_pid_fd 5 "8. Februar 2026" "Linux man\-pages 6.18" .SH BEZEICHNUNG /proc/pid/fd/ \- Dateideskriptoren .SH BESCHREIBUNG .TP \fI/proc/\fPPID\fI/fd/\fP 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. .IP 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 \fBreadlink\fP(2) mit dieser Datei liefert eine Zeichenkette im folgenden Format zurück: .IP .in +4n .EX \fITyp\fP:[\fIInode\fP] .EE .in .IP Beispielsweise wird \fIsocket:[2248868]\fP ein Socket sein, dessen Inode 2248868 ist. Für Sockets kann dieser Inode dazu verwandt werden, weitere Informationen in einem der Dateien unter \fI/proc/net/\fP zu finden. .IP Für Dateideskriptoren, die keinen korrespondierenden Inode haben (d.h. durch \fBbpf\fP(2), \fBepoll_create\fP(2), \fBeventfd\fP(2), \fBinotify_init\fP(2), \fBperf_event_open\fP(2), \fBsignalfd\fP(2), \fBtimerfd_create\fP(2) und \fBuserfaultfd\fP(2) erstellte Dateideskriptoren), wird der Eintrag ein symbolischer Link sein mit Inhalten der Form .IP .in +4n .EX anon_inode:\fIDateityp\fP .EE .in .IP In vielen (aber nicht allen) Fällen wird \fIDateityp\fP durch eckige Klammern eingeschlossen. .IP Beispielsweise wird ein Epoll\-Dateideskriptor einen symbolischen Link, dessen Inhalt die Zeichenkette \fIanon_inode:[eventpoll]\fP ist, haben. .IP .\"The following was still true as at kernel 2.6.13 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 \fBpthread_exit\fP(3)). .IP 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 \fI/proc/\fPPID\fI/fd\fP als Befehlszeilenargument dazu gebracht werden, die Standardeingabe oder die Standardausgabe zu verwenden. Angenommen, der Schalter \fI\-i\fP bezeichnet die Eingabedatei und \fI\-o\fP die Ausgabedatei: .IP .in +4n .EX $\fB foobar \-i /proc/self/fd/0 \-o /proc/self/fd/1 …\fP .EE .in .IP .\" The following is not true in my tests (MTK): .\" Note that this will not work for .\" programs that seek on their files, as the files in the fd directory .\" are not seekable. und Sie haben einen funktionierenden Filter. .IP \fI/proc/self/fd/N\fP ist in etwa dasselbe wie \fI/dev/fd/N\fP in einigen UNIX\- und UNIX\-ähnlichen Systemen. Die meisten MAKEDEV\-Skripte legen tatsächlich symbolische Links von \fI/proc/self/fd\fP zu \fI/dev/fd\fP an. .IP Die meisten Systeme stellen die symbolischen Links \fI/dev/stdin\fP, \fI/dev/stdout\fP und \fI/dev/stderr\fP bereit, die entsprechend auf die Dateien \fI0\fP, \fI1\fP und \fI2\fP in \fI/proc/self/fd\fP weisen. Das letzte Beispiel könnte also auch alternativ geschrieben werden als: .IP .in +4n .EX $\fB foobar \-i /dev/stdin \-o /dev/stdout …\fP .EE .in .IP Die Rechte, die symbolischen Links in diesem Verzeichnis zu dereferenzieren oder zu lesen (\fBreadlink\fP(2)), werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .IP 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 \fI/proc/\fPPID\fI/fd\fP 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: .IP .in +4n .EX $\fB echo test | sudo \-u nobody cat\fP test $\fB echo test | sudo \-u nobody cat /proc/self/fd/0\fP cat: /proc/self/fd/0: Permission denied .EE .in .IP Dateideskriptor 0 bezieht sich auf die durch die Shell erzeugte und von diesem Shell\-Benutzer (dies ist \fInobody\fP) besessene Pipe, so dass \fBcat\fP 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. .SH "SIEHE AUCH" \fBproc\fP(5) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Dr. Tobias Quathamer , Chris Leick , Erik Pfannenstein und Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .