proc_pid_maps(5)

الاسم
/proc/pid/maps - مناطق الذاكرة المعينة

الوصف

/proc/pid/maps
    ملف يحتوي على مناطق الذاكرة المعينة حالياً وأذونات الوصول الخاصة بها. راجع mmap(2) لمزيد من المعلومات حول تعيينات الذاكرة.

    يخضع الإذن بالوصول إلى هذا الملف لفحص وضع وصول ptrace PTRACE_MODE_READ_FSCREDS؛ انظر ptrace(2).

    تنسيق الملف هو:

        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]

    حقل address هو مساحة العنوان في العملية التي يشغلها التعيين. حقل perms هو مجموعة من الأذونات:

        r  = قراءة
        w = الكتابة
        x = تنفيذ
        s = مشترك
        p = خاص (نسخة عند الكتابة)

    حقل offset هو الإزاحة داخل الملف/أياً كان؛ dev هو الجهاز (رئيسي:ثانوي)؛ inode هو inode على ذلك الجهاز. 0 يشير إلى عدم ارتباط أي inode بمنطقة الذاكرة، كما هو الحال مع BSS (بيانات غير مهيأة).

    حقل pathname سيكون عادةً الملف الذي يدعم التعيين. بالنسبة لملفات ELF، يمكنك التنسيق بسهولة مع حقل offset بالنظر إلى حقل الإزاحة في رؤوس برامج ELF (readelf -l).

    هناك مسارات زائفة مفيدة إضافية:

    [stack]
        مكدس العملية الأولية (المعروفة أيضًا بمكدس الخيط الرئيسي).

    [stack:tid] (من لينكس 3.4 إلى لينكس 4.4)
        مكدس خيط (حيث tid هو معرف الخيط). يتوافق مع المسار /proc/pid/task/tid/. أُزيل هذا الحقل في لينكس 4.5، لأن توفير هذه المعلومات لعملية تحتوي على أعداد كبيرة من الخيوط مكلف.

    [vdso]
        الكائن المشترك المرتبط ديناميكياً افتراضياً. راجع vdso(7).

    [heap]
        كومة العملية.

    [anon:name] (منذ لينكس 5.17)
        تعيين مجهول خاص مسمى. يُضبط باستخدام prctl(2) PR_SET_VMA_ANON_NAME.

    [anon_shmem:الاسم] (منذ لينكس 6.2)
        تعيين مجهول مشترك مسمى. يُضبط باستخدام prctl(2) PR_SET_VMA_ANON_NAME.

    إذا كان حقل pathname فارغًا، فهذا تعيين مجهول تم الحصول عليه عبر mmap(2). لا توجد طريقة سهلة لربط هذا بمصدر العملية، بخلاف تشغيله عبر gdb(1) أو strace(1) أو ما شابه.

    يُعرض pathname بدون هروب باستثناء أحرف السطر الجديد، التي تُستبدل بتسلسل هروب ثماني. ونتيجة لذلك، لا يمكن تحديد ما إذا كان اسم المسار الأصلي يحتوي على حرف سطر جديد أو التسلسل الحرفي \012.

    إذا كان التعيين مدعومًا بملف وتم حذف الملف، تُلحق السلسلة " (محذوف)" باسم المسار. لاحظ أن هذا غامض أيضًا.

    تحت لينكس 2.0، لا يوجد حقل يعطي اسم المسار.

انظر أيضًا
proc(5)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.