HWLOC-PS(1) hwloc HWLOC-PS(1) نام (NAME) hwloc-ps - فهرست کردن فرایندها یا رشته‌های در حال اجرایی که مقید شده‌اند خلاصه دستور (SYNOPSIS) hwloc-ps [گزینه‌ها] گزینه‌ها (OPTIONS) -a فهرست کردن تمام فرایندها، حتی مواردی که به بخش خاصی از ماشین مقید نشده‌اند. --pid تنها نمایش فرایند با شناسهٔ فرایند ، حتی اگر به بخش خاصی از ماشین مقید نشده باشد. --children-of-pid تنها نمایش فرایند با شناسهٔ فرایند و سلسله‌مراتب فرزندان آن، حتی اگر به بخش خاصی از ماشین مقید نشده باشند. --name تنها نمایش فرایندهایی که نام آن‌ها شامل است، حتی اگر به بخش خاصی از ماشین مقید نشده باشند. این گزینه روی همهٔ سیستم‌عامل‌ها پشتیبانی نمی‌شود. --uid تنها نمایش فرایندهای کاربری که شناسهٔ کاربری (UID) او است، یا فرایندهای همهٔ کاربران در صورت مشخص شدن all. به‌طور پیش‌فرض، فقط فرایندهای کاربر جاری نمایش داده می‌شوند. این قابلیت در حال حاضر تنها در Linux پشتیبانی می‌شود. -p --physical گزارش اندیس‌های فیزیکی/سیستم‌عامل به‌جای اندیس‌های منطقی. -l --logical گزارش اندیس‌های منطقی به‌جای اندیس‌های فیزیکی/سیستم‌عامل (پیش‌فرض). -c --cpuset نمایش قیدهای فرایند به‌صورت cpuset به‌جای اشیاء. -t --threads نمایش رشته‌ها درون فرایندها. اگر -a نیز داده شود، تمام رشته‌های درون هر فرایند فهرست می‌شوند. در غیر این صورت، تمام رشته‌های درون هر فرایندی که حداقل یک رشته از آن مقید شده است نمایش داده می‌شوند. این قابلیت در حال حاضر تنها در Linux پشتیبانی می‌شود. --single-ancestor هنگامی که شیء به اشیاء مختلفی مقید شده است، نیاکان مشترک آن‌ها گزارش می‌شود (حتی اگر ممکن است بزرگ‌تر از قید واقعی باشد). -e --get-last-cpu-location گزارش آخرین پردازنده‌هایی که فرایند/رشته روی آن‌ها اجرا شده است. توجه داشته باشید که ممکن است نتیجه در زمان گزارش از پیش قدیمی شده باشد، زیرا سیستم‌عامل می‌تواند با توجه به قید مربوطه وظایف را در هر زمان به پردازنده‌های دیگر منتقل کند. --disallowed شامل کردن اشیائی که به دلیل محدودیت‌های مدیریتی مجاز نیستند. --pid-cmd پیوست کردن خروجی دستور داده‌شده به انتهای خط هر PID. به‌ازای هر شناسه فرایندِ نمایش داده‌شده، دستور اجرا شده و نخستین خط خروجی آن به انتهای خط معمولی hwloc-ps پیوست می‌شود. --pid-cmd env= در Linux، تلاش برای خواندن مقدار متغیر محیطی name در هر فرایند و نمایش آن در انتهای خط. --pid-cmd mpirank در Linux، تلاش برای یافتن رتبهٔ MPI فرایند (از طریق پرس‌وجو از متغیرهای محیطی رایج) و نمایش آن در انتهای خط. --lstopo-misc تولید خروجی در فایلی که می‌تواند برای نمایش فرایندها/رشته‌ها به‌صورت اشیاء Misc به دستور lstopo --misc-from داده شود. بخش مثال‌ها را در ادامه ببینید. --json-server اجرای ابزار به‌صورت یک سرور JSON که روی یک درگاه منتظر درخواست‌های فرایندهای دیگر می‌ماند و اطلاعات مقیدسازی را بازمی‌گرداند. برای جزئیات، contrib/hwloc-ps.www/ را ببینید. --json-port استفاده از شماره درگاه داده‌شده به‌جای مقدار پیش‌فرض 8888. -v --verbose افزایش پرگویی سرور JSON. --short-name تنها نمایش نام کوتاه فرایند به‌جای مسیر آن. --version گزارش نسخه و خروج. -h --help نمایش پیام راهنما و خروج. توضیحات (DESCRIPTION) به‌طور پیش‌فرض، hwloc-ps تنها فرایندهای در حال اجرایی را فهرست می‌کند که مقید شده‌اند. اگر گزینهٔ -t داده شود، فرایندهایی که خودشان مقید نشده‌اند اما حداقل یک رشتهٔ مقیدشده دارند نیز همراه با تمام رشته‌هایشان نمایش داده می‌شوند. دستور hwloc-ps شناسهٔ فرایند، خط فرمان و قید (binding) را نمایش می‌دهد. قید ممکن است به‌صورت اشیاء یا cpusets گزارش شود. به‌طور پیش‌فرض، قیدهای فرایند به توپولوژی در دسترس فعلی محدود می‌شوند. اگر برخی فرایندها به پردازنده‌هایی مقید شده باشند که در دسترس فرایند جاری نیستند، نادیده گرفته می‌شوند مگر آنکه گزینهٔ --disallowed داده شده باشد. خروجی یک فهرست متنی ساده است. اگر می‌خواهید توپولوژی سلسله‌مراتبی را با فرایندها حاشیه‌نویسی کنید تا چگونگی توزیع واقعی آن‌ها روی ماشین را مشاهده نمایید، ممکن است ترجیح دهید به‌جای آن از lstopo --ps استفاده کنید (که آن هم فقط فرایندهای مقیدشده را نشان می‌دهد). در صورت تمایل، از گزینهٔ -a می‌توان برای نمایش تمام فرایندها استفاده کرد. مثال‌ها (EXAMPLES) اگر فرایندی مقید شده باشد، در خروجی پیش‌فرض نشان داده می‌شود: $ hwloc-ps 4759 Core:0 myprogram اگر فرایندی به دو هسته از یک بسته (package) بزرگ‌تر مقید شده باشد، خروجی این هسته‌ها را نشان خواهد داد. گزینهٔ --single-ancestor در عوض بسته را بازمی‌گرداند، حتی اگر در اینجا در عمل بزرگ‌تر از قید مربوطه باشد (فرایند به Core:0 از Package:0 مقید نشده است): $ hwloc-ps 4863 Core:1 Core:2 myprogram $ hwloc-ps --single-ancestor 4863 Package:0 myprogram اگر فرایندی مقید نباشد اما ۳ رشته از ۴ رشتهٔ آن مقید شده باشند، تنها در خروجی آگاه از رشته نمایش داده می‌شود (یا اگر به‌صراحت انتخاب شده باشد): $ hwloc-ps $ hwloc-ps -t 4759 Machine:0 myprogram 4759 Machine:0 4761 PU:0 4762 PU:2 4765 PU:1 $ hwloc-ps --pid 4759 4759 Machine:0 myprogram مثال با یکپارچه‌سازی lstopo (Example with lstopo integration) خروجی می‌تواند فایلی باشد که lstopo برای افزودن اشیاء Misc از آن استفاده می‌کند (نسخهٔ انعطاف‌پذیرترِ lstopo --top): $ hwloc-ps --misc-from foo $ cat foo name=12444 myprogram cpuset=0x000000f0 subtype=Process name=12444 mythread1 cpuset=0x00000050 subtype=Thread name=12444 mythread2 cpuset=0x000000a0 subtype=Thread این خروجی را می‌توان مستقیماً به lstopo داد: $ hwloc-ps --misc-from - | lstopo --misc-from - مثال‌ها با فرایندهای MPI (Examples with MPI processes) در Linux، دستور hwloc-ps ممکن است برخی متغیرهای محیطی ویژهٔ فرایند را در انتهای خط نمایش دهد. این قابلیت برای مثال جهت شناسایی رتبه‌های MPI میان فرایندها مفید است: $ hwloc-ps --pid-cmd env=OMPI_COMM_WORLD_RANK 29093 PU:0 myprogram OMPI_COMM_WORLD_RANK=0 29094 PU:2 myprogram OMPI_COMM_WORLD_RANK=1 29095 PU:1 myprogram OMPI_COMM_WORLD_RANK=2 29096 PU:3 myprogram OMPI_COMM_WORLD_RANK=3 برخی متغیرهای محیطی رایج ویژهٔ MPI (شامل OMPI_COMM_WORLD_RANK، PMIX_RANK، PMI_RANK و SLURM_PROCID) در واقع هنگام استفاده از دستور mpirank مستقیماً توسط hwloc-ps شناسایی می‌شوند: $ hwloc-ps --pid-cmd mpirank 29093 PU:0 myprogram PMIX_RANK=0 29094 PU:2 myprogram PMIX_RANK=1 29095 PU:1 myprogram PMIX_RANK=2 29096 PU:3 myprogram PMIX_RANK=3 علاوه بر خواندن متغیرهای محیطی، hwloc-ps می‌تواند خروجی یک برنامهٔ سفارشی را نیز پیوست کند. مجدداً برای خواندن رتبهٔ فرایند در Open MPI: $ hwloc-ps --pid-cmd myscript 29093 PU:0 myprogram OMPI_COMM_WORLD_RANK=0 29094 PU:2 myprogram OMPI_COMM_WORLD_RANK=1 29095 PU:1 myprogram OMPI_COMM_WORLD_RANK=2 29096 PU:3 myprogram OMPI_COMM_WORLD_RANK=3 که در آن myscript یک اسکریپت شل است که دستور زیر را انجام می‌دهد: #!/bin/sh cat /proc/$1/environ 2>/dev/null | xargs --null --max-args=1 echo | grep OMPI_COMM_WORLD_RANK همچنین ببینید (SEE ALSO) hwloc(7), lstopo(1), hwloc-calc(1), hwloc-distrib(1) و hwloc- ps.www/README 2.14.0 June 8, 2026 HWLOC-PS(1)