PROC_PID_STATUS(5) فایلهای پیکربندی PROC_PID_STATUS(5)

/proc/pid/status - گزارش تفصیلی وضعیت فرایند، مصرف حافظه، شناسهها و ریسهها

پرونده /proc/[pid]/status اطلاعات تجمیعشده از proc_pid_stat و proc_pid_statm را در قالبی خوانا و ساختاریافته شامل وضعیت فرایند، شناسههای کاربری، اندازه بخشهای حافظه، سیگنالها و تعداد ریسهها ارائه میدهد.

در اینجا یک نمونه آورده شده است:


$ cat /proc/$$/status
Name:   bash
Umask:  0022
State:  S (sleeping)
Tgid:   17248
Ngid:   0
Pid:    17248
PPid:   17200
TracerPid:      0
Uid:    1000    1000    1000    1000
Gid:    100     100     100     100
FDSize: 256
Groups: 16 33 100
NStgid: 17248
NSpid:  17248
NSpgid: 17248
NSsid:  17200
VmPeak:	  131168 kB
VmSize:	  131168 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	   13484 kB
VmRSS:	   13484 kB
RssAnon:	   10264 kB
RssFile:	    3220 kB
RssShmem:	       0 kB
VmData:	   10332 kB
VmStk:	     136 kB
VmExe:	     992 kB
VmLib:	    2104 kB
VmPTE:	      76 kB
VmPMD:	      12 kB
VmSwap:	       0 kB
HugetlbPages:          0 kB		# 4.4
CoreDumping:	0                       # 4.15
Threads:        1
SigQ:   0/3067
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
CapAmb:	0000000000000000
NoNewPrivs:     0
Seccomp:        0
Seccomp_filters:        0
Speculation_Store_Bypass:       vulnerable
Cpus_allowed:   00000001
Cpus_allowed_list:      0
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        150
nonvoluntary_ctxt_switches:     545

فیلدها به شرح زیر هستند:
دستوری که توسط این فرایند اجرا شده است. رشته‌های طولانی‌تر از TASK_COMM_LEN (۱۶) کاراکتر (شامل بایت تهی پایانی) بدون اخطار کوتاه می‌شوند.
مقدار umask فرایند، که به صورت اکتال (مبنای ۸) با صفر آغازین نشان داده می‌شود؛ به umask(2) مراجعه کنید. (از لینوکس 4.7 به بعد.)
وضعیت کنونی فرایند. یکی از مقادیر "R (running)" (در حال اجرا)، "S (sleeping)" (خوابیده)، "D (disk sleep)" (خواب دیسک - وقفه ناپذیر)، "T (stopped)" (متوقف شده)، "t (tracing stop)" (توقف ردیابی)، "Z (zombie)" (زامبی) یا "X (dead)" (مرده).
شناسه گروه ریسه (Thread group ID)، یعنی شناسه فرایند (PID).
شناسه گروه NUMA (مقدار 0 در صورت نبود؛ از لینوکس 3.13 به بعد).
شناسه ریسه (Thread ID)؛ به gettid(2) مراجعه کنید.
شناسه فرایند والد (Parent PID).
شناسه فرایندی که این فرایند را ردیابی می‌کند (در صورت عدم ردیابی، مقدار 0 است).
شناسه‌های UID و GID واقعی (Real)، مؤثر (Effective)، ذخیره‌شده (Saved set) و سیستم‌فایلی (Filesystem).
تعداد اسلات‌های توصیف‌گر فایل تخصیص‌یافته در حال حاضر.
فهرست گروه‌های تکمیلی (Supplementary group list).
شناسه گروه ریسه (یعنی PID) در هر یک از فضاهای نام PID که pid عضوی از آن‌ها است. ورودی سمت چپ، مقدار مربوط به فضای نام PID فرایندی را نشان می‌دهد که این procfs را سوار (Mount) کرده است (یا فضای نام ریشه در صورتی که توسط هسته سوار شده باشد)، و به دنبال آن مقادیر در فضاهای نام تودرتوی داخلی‌تر می‌آیند. (از لینوکس 4.1 به بعد.)
شناسه ریسه در هر یک از فضاهای نام PID که pid عضوی از آن‌ها است. ترتیب فیلدها همانند NStgid است. (از لینوکس 4.1 به بعد.)
شناسه گروه فرایند در هر یک از فضاهای نام PID که pid عضوی از آن‌ها است. ترتیب فیلدها همانند NStgid است. (از لینوکس 4.1 به بعد.)
شناسه نشست (Session ID) در هر یک از فضاهای نام PID که pid عضوی از آن‌ها است. ترتیب فیلدها همانند NStgid است. (از لینوکس 4.1 به بعد.)
اوک اندازه حافظه مجازی (Peak virtual memory size).
اندازه حافظه مجازی فعلی.
اندازه حافظه قفل‌شده؛ به mlock(2) مراجعه کنید.
اندازه حافظه پین‌شده (از لینوکس 3.2 به بعد). این‌ها صفحاتی هستند که امکان جابجایی ندارند زیرا بخشی از سیستم نیاز به دسترسی مستقیم به حافظه فیزیکی دارد.
اوج اندازه مجموعه مقیم یا Peak resident set size ("high water mark"). این مقدار دقیق نیست؛ به /proc/pid/statm مراجعه کنید.
اندازه مجموعه مقیم (Resident set size). توجه داشته باشید که مقدار اینجا مجموع RssAnon، RssFile و RssShmem است. این مقدار دقیق نیست؛ به /proc/pid/statm مراجعه کنید.
اندازه حافظه مقیم ناشناس (Resident anonymous memory) (از لینوکس 4.5 به بعد). این مقدار دقیق نیست؛ به /proc/pid/statm مراجعه کنید.
اندازه نگاشت‌های فایل مقیم (Resident file mappings) (از لینوکس 4.5 به بعد). این مقدار دقیق نیست؛ به /proc/pid/statm مراجعه کنید.
اندازه حافظه اشتراکی مقیم (شامل حافظه اشتراکی System V، نگاشت‌های برگرفته از tmpfs(5) و نگاشت‌های ناشناس اشتراکی) (از لینوکس 4.5 به بعد).
اندازه بخش‌های داده، پشته و کد اجرایی. این مقدار دقیق نیست؛ به /proc/pid/statm مراجعه کنید.
اندازه کد کتابخانه‌های اشتراکی.
اندازه مدخل‌های جدول صفحه (از لینوکس 2.6.10 به بعد).
اندازه جدول‌های صفحه سطح دوم (افزوده شده در لینوکس 4.0؛ حذف شده در لینوکس 4.15).
اندازه حافظه مجازی سواپ‌شده توسط صفحات خصوصی ناشناس؛ استفاده سواپ shmem در این مقدار گنجانده نشده است (از لینوکس 2.6.34 به بعد). این مقدار دقیق نیست؛ به /proc/pid/statm مراجعه کنید.
اندازه بخش‌های حافظه hugetlb (از لینوکس 4.4 به بعد).
اگر فرایند در حال ایجاد core dump باشد مقدار 1 و در غیر این صورت 0 را برمی‌گرداند (از لینوکس 4.15 به بعد). این اطلاعات می‌تواند توسط فرایند نظارتی به کار رود تا از بستن فرایندی که در حال نوشتن core dump است جلوگیری شود، چرا که این کار ممکن است منجر به خراب شدن پرونده core dump شود.
تعداد ریسه‌ها در فرایندی که شامل این ریسه است.
این فیلد شامل دو عدد جدا شده با اسلش است که به سیگنال‌های صف‌بندی‌شده برای شناسه کاربری واقعی (Real UID) این فرایند مربوط می‌شود. اولین عدد تعداد سیگنال‌های کنونی صف‌بندی‌شده برای این Real UID است، و عدد دوم محدودیت منبع برای تعداد سیگنال‌های مجاز در صف برای این فرایند است (توضیحات مربوط به RLIMIT_SIGPENDING در getrlimit(2) را ببینید).
ماسک (در مبنای ۱۶ یا هگزادسیمال) سیگنال‌های معلق برای ریسه و برای کل فرایند (به pthreads(7) و signal(7) مراجعه کنید).
ماسک‌ها (در مبنای ۱۶) که نشان‌دهنده سیگنال‌های مسدودشده، نادیده‌گرفته‌شده و دریافت‌شده هستند (به signal(7) مراجعه کنید).
ماسک‌ها (در مبنای ۱۶) از قابلیت‌های فعال در مجموعه‌های ارث‌رسیدنی، مجاز و مؤثر (به capabilities(7) مراجعه کنید).
مجموعه مرز قابلیت‌ها (Bounding set)، در مبنای ۱۶ (از لینوکس 2.6.26 به بعد، به capabilities(7) مراجعه کنید).
مجموعه قابلیت‌های محیطی (Ambient set)، در مبنای ۱۶ (از لینوکس 4.3 به بعد، به capabilities(7) مراجعه کنید).
مقدار بیت no_new_privs (از لینوکس 4.10 به بعد، به prctl(2) مراجعه کنید).
حالت seccomp فرایند (از لینوکس 3.8 به بعد، به seccomp(2) مراجعه کنید). مقدار 0 به معنای SECCOMP_MODE_DISABLED؛ مقدار 1 به معنای SECCOMP_MODE_STRICT؛ مقدار 2 به معنای SECCOMP_MODE_FILTER است. این فیلد تنها زمانی نمایش داده می‌شود که هسته با فعال بودن گزینه پیکربندی CONFIG_SECCOMP ساخته شده باشد.
تعداد فیلترهای seccomp متصل به فرایند (از لینوکس 5.9 به بعد، به seccomp(2) مراجعه کنید).
وضعیت تخفیف نقص اجرای حدسی (Speculation flaw mitigation state) (از لینوکس 4.17 به بعد، به prctl(2) مراجعه کنید).
ماسک هگزادسیمال پردازنده‌هایی که این فرایند مجاز به اجرا بر روی آن‌ها است (از لینوکس 2.6.24 به بعد، به cpuset(7) مراجعه کنید).
همانند مورد پیشین، اما در «قالب فهرست» (از لینوکس 2.6.26 به بعد، به cpuset(7) مراجعه کنید).
ماسک گره‌های حافظه مجاز برای این فرایند (از لینوکس 2.6.24 به بعد، به cpuset(7) مراجعه کنید).
همانند مورد پیشین، اما در «قالب فهرست» (از لینوکس 2.6.26 به بعد، به cpuset(7) مراجعه کنید).
تعداد تعویض زمینه‌های داوطلبانه و غیرداوطلبانه (از لینوکس 2.6.23 به بعد).

proc(5)

مه ۲۰۲۵ man-pages