/proc/pid/task/, /proc/tid/, /proc/thread-self/ -
اطلاعات
ریسه
- /proc/pid/task/ (از
لینوکس 2.6.0)
- این
دایرکتوری
شامل یک
زیردایرکتوری
برای هر یک
از
ریسههای
درون
فرایند است.
نام هر
زیردایرکتوری،
شناسه عددی
ریسه (tid)
مربوط به آن
ریسه است
(به gettid(2)
مراجعه
کنید).
- درون هر یک
از این
زیردایرکتوریها،
مجموعهای
از فایلها
با همان
نامها و
محتویات
موجود در
دایرکتوریهای
/proc/pid قرار
دارد. برای
ویژگیهایی
که بین همه
ریسهها
مشترک است،
محتوای هر
یک از
فایلهای
درون
زیردایرکتوریهای
task/tid همانند
فایل
متناظر در
دایرکتوری
والد /proc/pid
خواهد بود
(برای
نمونه، در
یک فرایند
چندریسهای،
تمامی
فایلهای
task/tid/cwd
مقداری
یکسان با
فایل /proc/pid/cwd
در
دایرکتوری
والد
خواهند
داشت، چرا
که تمام
ریسههای
یک فرایند
در یک
دایرکتوری
کاری مشترک
هستند).
برای
ویژگیهایی
که برای هر
ریسه مجزا
است،
فایلهای
متناظر در
task/tid ممکن است
مقادیر
متفاوتی
داشته
باشند
(بهعنوان
مثال،
فیلدهای
گوناگون در
هر یک از
فایلهای
task/tid/status ممکن
است برای هر
ریسه
متفاوت
باشد)، یا
ممکن است
اصلاً در /proc/pid
وجود
نداشته
باشند.
- در یک
فرایند
چندریسهای،
در صورتی که
ریسه اصلی
پیشتر
پایان
یافته باشد
(معمولاً با
فراخوانی
pthread_exit(3))،
محتوای
دایرکتوری
/proc/pid/task در
دسترس
نخواهد
بود.
- همچنین
ببینید:
- /proc/tid/
- برای هر
ریسه در حال
اجرا که
سرگروه
ریسه (thread group leader)
نیست (یعنی
ریسهای که
شناسه ریسه
آن با شناسه
فرایندش
یکسان
نیست)، یک
زیردایرکتوری
عددی وجود
دارد؛ این
زیردایرکتوری
بر اساس
شناسه ریسه
نامگذاری
شده است. هر
یک از این
زیردایرکتوریها
شامل
فایلها و
زیردایرکتوریهایی
است که
اطلاعات
مربوط به
ریسه با
شناسه ریسه
tid را ارائه
میدهند.
محتویات
این
دایرکتوریها
با
دایرکتوریهای
متناظر
/proc/pid/task/tid یکسان
است.
- زیردایرکتوریهای
/proc/tid هنگام
پیمایش /proc
با getdents(2)
نمایان
نیستند (و
بنابراین
هنگامی که
از ls(1) برای
مشاهده
محتویات /proc
استفاده
میشود نیز
دیده
نمیشوند ).
با این حال،
نام مسیر
این
دایرکتوریها
برای
فراخوانیهای
سیستمی که
با نام
مسیرها کار
میکنند،
نمایان است
(یعنی
میتوان از
آنها
بهعنوان
آرگومان
استفاده
کرد).
- /proc/thread-self/ (از
لینوکس 3.17)
- این
دایرکتوری
به ریسهای
که در حال
دسترسی به
سیستمفایل
/proc است
اشاره
دارد، و با
دایرکتوری
/proc/self/task/tid که با
شناسه ریسه
فرایند (tid)
همان ریسه
نامگذاری
شده است،
یکسان است.