proc_pid_maps(5) File Formats Manual proc_pid_maps(5) BEZEICHNUNG /proc/pid/maps - gemappte Speicherbereiche BESCHREIBUNG /proc/PID/maps Eine Datei mit den derzeit gemappten Speicherbereichen und ihren Zugriffsrechten. Lesen Sie mmap(2) fur weitere Informationen uber Speicher-Mappings. Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace-Zugriffsmodusprufung 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 (ausfuhren) 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 fur das Gerat (major:minor) und Inode ist der Inode auf diesem Gerat. 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. Fur ELF-Dateien konnen Sie dies einfach mit dem Feld offset koordinieren, indem Sie das Feld Offset in den ELF-Programm-Headern (readelf -l) anschauen. Es gibt zusatzliche, hilfreiche Pseudo-Pfade: [stack] Der initiale Stack des Prozesses (auch als Haupt-Thread bekannt). [stack:TID] (von Linux 3.4 bis Linux 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 fur einen Prozess mit einer grossen Anzahl an Threads kostspielig ist. [vdso] Das virtuelle dynamisch-gelinkte Laufzeitobjekt. Siehe vdso(7). [heap] Der Prozess-Heap. [anon:Name] (seit Linux 5.17) Ein benanntes, privates, anonymes Mapping. Mit prctl(2) PR_SET_VMA_ANON_NAME gesetzt. [anon_shmem:Name] (seit Linux 6.2) Ein benanntes, gemeinsames, anonymes Mapping. Mit prctl(2) PR_SET_VMA_ANON_NAME gesetzt. Falls das Feld pathname leer ist, ist dies ein anonymes Mapping, wie es per mmap(2) gewonnen wird. Es gibt keine einfache Moglichkeit, dies zu einer Prozessquelle zuruckzukoordinieren, ausser es durch gdb(1), strace(1) oder ahnliches auszufuhren. pathname wird desmaskiert angezeigt, ausser fur Zeilenumbruche, die durch eine oktale Maskiersequenz ersetzt werden. Daher ist es im Ergebnis nicht moglich zu bestimmen, ob der ursprungliche Dateiname ein Zeilenumbruchzeichen oder die tatsachliche Zeichensequenz \012 enthielt. Falls das Mapping Datei-basiert ist und die Datei geloscht wurde, wird die Zeichenkette >> (deleted)<< an den Pfadnamen angehangt. Beachten Sie, dass auch dies mehrdeutig ist. Unter Linux 2.0 gibt es kein Feld, das den Pfadnamen angibt. 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.9.1 15. Juni 2024 proc_pid_maps(5)