proc_pid_map_files(5) File Formats Manual proc_pid_map_files(5)

/proc/pid/map_files/ - فایل‌های نگاشت‌شده در حافظه

/proc/pid/map_files/ (از لینوکس 3.3)
این زیردایرکتوری حاوی مدخل‌هایی متناظر با فایل‌های نگاشت‌شده در حافظه است (ببینید: mmap(2)). مدخل‌ها بر اساس جفت نشانی آغاز و پایان ناحیهٔ حافظه (بیان‌شده به‌صورت اعداد هگزادسیمال) نام‌گذاری شده‌اند، و پیوندهایی نمادین به خود فایل‌های نگاشت‌شده هستند. در اینجا مثالی آورده شده است، که خروجی آن برای جای گرفتن در نمایشگر ۸۰ ستونی بازآرایی و خط‌شکنی شده است:

# ls -l /proc/self/map_files/
lr-------- 1 root root 64 Apr 16 21:31
            3252e00000-3252e20000 -> /usr/lib64/ld-2.15.so
...

اگرچه این مدخل‌ها برای نواحی حافظه‌ای که با پرچم MAP_FILE نگاشت شده‌اند حضور دارند، شیوهٔ پیاده‌سازی حافظهٔ اشتراکی ناشناس (نواحی ایجادشده با پرچم‌های MAP_ANON | MAP_SHARED) در لینوکس بدین معناست که چنین نواحی‌ای نیز در این دایرکتوری ظاهر می‌شوند. در اینجا مثالی آورده شده است که در آن فایل هدف، موردِ حذف‌شدهٔ /dev/zero است:

lrw------- 1 root root 64 Apr 16 21:33
            7fc075d2f000-7fc075e6f000 -> /dev/zero (deleted)

مجوز دسترسی به این فایل توسط بررسی حالت دسترسی ptrace یعنی PTRACE_MODE_READ_FSCREDS اداره می‌شود؛ ببینید: ptrace(2).
تا لینوکس 4.3، این دایرکتوری تنها در صورتی ظاهر می‌شد که گزینهٔ پیکربندی هستهٔ CONFIG_CHECKPOINT_RESTORE فعال باشد.
برای خواندن محتوای پیوندهای نمادین در این دایرکتوری به قابلیت‌ها نیاز است: پیش از لینوکس 5.9، فرایند خواننده به CAP_SYS_ADMIN در فضای نام کاربری اولیه نیاز دارد؛ از لینوکس 5.9 به بعد، فرایند خواننده باید دارای CAP_SYS_ADMIN یا CAP_CHECKPOINT_RESTORE در فضای نام کاربری اولیه (یعنی ریشه) باشد.

proc(5)

2026-02-08 Linux man-pages 6.19