table of contents
proc_pid_maps(5) | File Formats Manual | proc_pid_maps(5) |
NUME¶
/proc/pid/maps - regiuni de memorie cartografiate
DESCRIERE¶
- /proc/pid/maps
- Un fișier care conține regiunile de memorie cartografiate în prezent și permisiunile lor de acces. Consultați mmap(2) pentru informații suplimentare despre cartografierea memoriei.
- Permisiunea de a accesa acest fișier este guvernată de o verificare a modului de acces «ptrace» PTRACE_MODE_READ_FSCREDS; a se vedea ptrace(2).
- Formatul fișierului este următorul:
-
adresă permis poziție disp nod-i nume-rută 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]
- Câmpul adresă este spațiul de adrese din proces ocupat de cartografiere. Câmpul permis este un set de permisiuni:
-
r = citire w = scriere x = execuție s = partajare p = privată (copie la scriere)
- Câmpul poziție este poziția în fișier sau altceva; disp este dispozitivul (major:minor); nod-i este nodul-i pe dispozitivul respectiv. 0 indică faptul că niciun nod-i nu este asociat cu regiunea de memorie, cum ar fi cazul BSS (date neinițializate).
- Câmpul nume-rută va fi de obicei fișierul care conține cartografierea. Pentru fișierele ELF, vă puteți coordona cu ușurință cu câmpul poziție uitându-vă la câmpul Offset din anteturile programului ELF (readelf -l).
- Există pseudo-rute suplimentare utile:
- [stack]
- Stiva procesului inițial (cunoscută și ca firul principal).
- [stack:tid] (de la Linux 3.4 la Linux 4.4)
- Stiva unui fir (unde tid este un ID al firului). Acesta corespunde rutei /proc/pid/task/tid/. Acest câmp a fost eliminat în Linux 4.5, deoarece furnizarea acestor informații pentru un proces cu un număr mare de fire este costisitoare.
- [vdso]
- Obiectul partajat virtual legat dinamic. A se vedea vdso(7).
- [heap]
- Grămada procesului.
- [anon:nume] (începând cu Linux 5.17)
- O cartografiere anonimă privată cu nume. Definită cu prctl(2) PR_SET_VMA_ANON_NAME.
- [anon_shmem:nume] (începând cu Linux 6.2)
- O cartografiere anonimă partajată cu nume. Definită
cu prctl(2) PR_SET_VMA_ANON_NAME.
- Dacă câmpul nume-rută este gol, aceasta este o cartografiere anonimă obținută prin mmap(2). Nu există o modalitate ușoară de a corela aceasta cu sursa unui proces, cu excepția rulării acesteia prin gdb(1), strace(1) sau similar.
- nume-rută este afișat neeludat, cu excepția caracterelor de linie nouă, care sunt înlocuite cu o secvență octală de eludare. Ca urmare, nu este posibil să se determine dacă numele de rută original conținea un caracter de linie nouă sau secvența literală de caractere \012.
- Dacă cartografierea este stocată în fișier și fișierul a fost șters, șirul „(deleted)” este adăugat la numele rutei. Rețineți că acest lucru este, de asemenea, ambiguu.
- Sub Linux 2.0, nu există niciun câmp care să indice numele rutei.
CONSULTAȚI ȘI¶
TRADUCERE¶
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
15 iunie 2024 | Pagini de manual de Linux 6.9.1 |