proc_pid_maps(5) File Formats Manual proc_pid_maps(5) NAZWA /proc/pid/maps - przypisane obszary pamieci OPIS /proc/pid/maps Plik zawierajacy aktualnie zmapowane obszary pamieci wraz z prawami dostepu do nich. Wiecej informacji o mapowaniu pamieci zawiera podrecznik systemowy mmap(2). Uprawnienie dostepu do tego pliku zalezy od sprawdzenia trybu dostepu ptrace: PTRACE_MODE_READ_FSCREDS; zob. ptrace(2). Format pliku jest nastepujacy: adres uprawn przesun urzadz i-wezel sciezka 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] Pole adres jest przestrzenia adresowa procesu, ktory ja zajmuje, a uprawn jest zbiorem uprawnien: r = odczyt w = zapis x = wykonywanie s = wspolne p = prywatne (kopiowane przy zapisie) Przesun jest przesunieciem w pliku lub w czyms innym, urzadz zawiera numery (glowny:poboczny) urzadzenia, a i-wezel jest i-wezlem na tym urzadzeniu. 0 wskazuje, ze nie istnieje i-wezel zwiazany z tym obszarem pamieci, jak to na przyklad ma miejsce w przypadku segmentu BSS (niezainicjowanych danych). Sciezka to zwykle plik zabezpieczajacy mapowanie. Koordynacja jest latwa w przypadku plikow ELF za pomoca pola przesun, poprzez sprawdzenie pola Offset w naglowkach programu ELF (readelf -l). Istnieja dodatkowe, pomocne pseudosciezki: [stack] Stos pierwotnego procesu (zwanego tez glownym watkiem) [stack:tid] (od Linuksa 3.4 do Linuksa 4.4) Stos watku (gdzie jest identyfikatorem watku). Odpowiada sciezce /proc/[pid]/task/[tid]/. Pole to usunieto w Linuksie 4.5, poniewaz udostepnianie tej informacji w przypadku procesu z duza liczba watkow jest kosztowne. [vdso] Wirtualny, dynamicznie linkowany obiekt wspoldzielony. Patrz vdso(7). [heap] Sterta watku. [anon:nazwa] (od Linuksa 5.17) Nazwane, prywatne mapowanie anonimowe. Ustawiane za pomoca PR_SET_VMA_ANON_NAME prctl(2). [anon_shmem:nazwa] (od Linuksa 6.2) Nazwane, dzielone mapowanie anonimowe. Ustawiane za pomoca PR_SET_VMA_ANON_NAME prctl(2). Jesli pole sciezka jest puste, to jest to anonimowe przypisanie, takie jak pozyskiwane za pomoca mmap(2). Nie ma prostej metody na powiazanie jej ze zrodlem procesu oprocz metod takich jak gdb(1), strace(1) itp. pathname is shown unescaped except for newline characters, which are replaced with an octal escape sequence. As a result, it is not possible to determine whether the original pathname contained a newline character or the literal \012 character sequence. Jesli mapowanie dotyczy pliku i plik ten zostal usuniety, w sciezce pojawi sie lancuch ,, (deleted)". Prosze zauwazyc, ze to rowniez jest niejednoznaczne. W Linuksie 2.0 nie ma pola podajacego nazwe sciezki. ZOBACZ TAKZE proc(5) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.9.1 15 czerwca 2024 r. proc_pid_maps(5)