.\" -*- nroff -*- .\" SPDX-License-Identifier: BSD-3-Clause .\" Copyright © 2010-2024 Inria. All rights reserved. .\" Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. .\" See COPYING in top-level directory. .TH HWLOC-PS "1" "Jun 08, 2026" "2.14.0" "hwloc" .SH "نام (NAME)" hwloc-ps \- فهرست کردن فرایندها یا رشته‌های در حال اجرایی که مقید شده‌اند . .\" ************************** .\" Synopsis Section .\" ************************** .SH "خلاصه دستور (SYNOPSIS)" . .B hwloc-ps [\fIگزینه‌ها\fR] . .\" ************************** .\" Options Section .\" ************************** .SH "گزینه‌ها (OPTIONS)" . .TP 10 \fB\-a\fR فهرست کردن تمام فرایندها، حتی مواردی که به بخش خاصی از ماشین مقید نشده‌اند. .TP \fB\-\-pid \fR تنها نمایش فرایند با شناسهٔ فرایند \fI\fR، حتی اگر به بخش خاصی از ماشین مقید نشده باشد. .TP \fB\-\-children\-of\-pid \fR تنها نمایش فرایند با شناسهٔ فرایند \fI\fR و سلسله‌مراتب فرزندان آن، حتی اگر به بخش خاصی از ماشین مقید نشده باشند. .TP \fB\-\-name \fR تنها نمایش فرایندهایی که نام آن‌ها شامل \fI\fR است، حتی اگر به بخش خاصی از ماشین مقید نشده باشند. این گزینه روی همهٔ سیستم‌عامل‌ها پشتیبانی نمی‌شود. .TP \fB\-\-uid \fR تنها نمایش فرایندهای کاربری که شناسهٔ کاربری (UID) او \fI\fR است، یا فرایندهای همهٔ کاربران در صورت مشخص شدن \fIall\fR. به‌طور پیش‌فرض، فقط فرایندهای کاربر جاری نمایش داده می‌شوند. این قابلیت در حال حاضر تنها در Linux پشتیبانی می‌شود. .TP \fB\-p\fR \fB\-\-physical\fR گزارش اندیس‌های فیزیکی/سیستم‌عامل به‌جای اندیس‌های منطقی. .TP \fB\-l\fR \fB\-\-logical\fR گزارش اندیس‌های منطقی به‌جای اندیس‌های فیزیکی/سیستم‌عامل (پیش‌فرض). .TP \fB\-c\fR \fB\-\-cpuset\fR نمایش قیدهای فرایند به‌صورت cpuset به‌جای اشیاء. .TP \fB\-t\fR \fB\-\-threads\fR نمایش رشته‌ها درون فرایندها. اگر \fB\-a\fR نیز داده شود، تمام رشته‌های درون هر فرایند فهرست می‌شوند. در غیر این صورت، تمام رشته‌های درون هر فرایندی که حداقل یک رشته از آن مقید شده است نمایش داده می‌شوند. این قابلیت در حال حاضر تنها در Linux پشتیبانی می‌شود. .TP \fB\-\-single\-ancestor\fR هنگامی که شیء به اشیاء مختلفی مقید شده است، نیاکان مشترک آن‌ها گزارش می‌شود (حتی اگر ممکن است بزرگ‌تر از قید واقعی باشد). .TP \fB\-e\fR \fB\-\-get\-last\-cpu\-location\fR گزارش آخرین پردازنده‌هایی که فرایند/رشته روی آن‌ها اجرا شده است. توجه داشته باشید که ممکن است نتیجه در زمان گزارش از پیش قدیمی شده باشد، زیرا سیستم‌عامل می‌تواند با توجه به قید مربوطه وظایف را در هر زمان به پردازنده‌های دیگر منتقل کند. .TP \fB\-\-disallowed\fR شامل کردن اشیائی که به دلیل محدودیت‌های مدیریتی مجاز نیستند. .TP \fB\-\-pid\-cmd \fR پیوست کردن خروجی دستور داده‌شده به انتهای خط هر PID. به‌ازای هر شناسه فرایندِ نمایش داده‌شده، دستور \fI \fR اجرا شده و \fBنخستین خط\fR خروجی آن به انتهای خط معمولی hwloc-ps پیوست می‌شود. .TP \fB\-\-pid\-cmd env=\fR در Linux، تلاش برای خواندن مقدار متغیر محیطی \fIname\fR در هر فرایند و نمایش آن در انتهای خط. .TP \fB\-\-pid\-cmd mpirank\fR در Linux، تلاش برای یافتن رتبهٔ MPI فرایند (از طریق پرس‌وجو از متغیرهای محیطی رایج) و نمایش آن در انتهای خط. .TP \fB\-\-lstopo\-misc\fR تولید خروجی در فایلی که می‌تواند برای نمایش فرایندها/رشته‌ها به‌صورت اشیاء Misc به دستور \fBlstopo \-\-misc\-from\fR داده شود. بخش مثال‌ها را در ادامه ببینید. .TP \fB\-\-json\-server\fR اجرای ابزار به‌صورت یک سرور JSON که روی یک درگاه منتظر درخواست‌های فرایندهای دیگر می‌ماند و اطلاعات مقیدسازی را بازمی‌گرداند. برای جزئیات، contrib/hwloc-ps.www/ را ببینید. .TP \fB\-\-json\-port \fR استفاده از شماره درگاه داده‌شده به‌جای مقدار پیش‌فرض 8888. .TP \fB\-v\fR \fB\-\-verbose\fR افزایش پرگویی سرور JSON. .TP \fB\-\-short\-name\fR تنها نمایش نام کوتاه فرایند به‌جای مسیر آن. .TP \fB\-\-version\fR گزارش نسخه و خروج. .TP \fB\-h\fR \fB\-\-help\fR نمایش پیام راهنما و خروج. . .\" ************************** .\" Description Section .\" ************************** .SH "توضیحات (DESCRIPTION)" . به‌طور پیش‌فرض، hwloc-ps تنها فرایندهای در حال اجرایی را فهرست می‌کند که مقید شده‌اند. اگر گزینهٔ \fB\-t\fR داده شود، فرایندهایی که خودشان مقید نشده‌اند اما حداقل یک رشتهٔ مقیدشده دارند نیز همراه با تمام رشته‌هایشان نمایش داده می‌شوند. . .PP دستور hwloc-ps شناسهٔ فرایند، خط فرمان و قید (binding) را نمایش می‌دهد. قید ممکن است به‌صورت اشیاء یا cpusets گزارش شود. . .PP به‌طور پیش‌فرض، قیدهای فرایند به توپولوژی در دسترس فعلی محدود می‌شوند. اگر برخی فرایندها به پردازنده‌هایی مقید شده باشند که در دسترس فرایند جاری نیستند، نادیده گرفته می‌شوند مگر آنکه گزینهٔ \fB\-\-disallowed\fR داده شده باشد. . .PP خروجی یک فهرست متنی ساده است. اگر می‌خواهید توپولوژی سلسله‌مراتبی را با فرایندها حاشیه‌نویسی کنید تا چگونگی توزیع واقعی آن‌ها روی ماشین را مشاهده نمایید، ممکن است ترجیح دهید به‌جای آن از lstopo --ps استفاده کنید (که آن هم فقط فرایندهای مقیدشده را نشان می‌دهد). . .PP در صورت تمایل، از گزینهٔ .I \-a می‌توان برای نمایش .I تمام فرایندها استفاده کرد. . .\" ************************** .\" Examples Section .\" ************************** .SH "مثال‌ها (EXAMPLES)" .PP اگر فرایندی مقید شده باشد، در خروجی پیش‌فرض نشان داده می‌شود: $ 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 . .\" ************************** .\" Example with lstopo integration .\" ************************** .SH "مثال با یکپارچه‌سازی lstopo (Example with lstopo integration)" .PP خروجی می‌تواند فایلی باشد که 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 - . .\" ************************** .\" Examples with MPI processes .\" ************************** .SH "مثال‌ها با فرایندهای MPI (Examples with MPI processes)" .PP در 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) در واقع هنگام استفاده از دستور \fImpirank\fR مستقیماً توسط 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 که در آن \fBmyscript\fR یک اسکریپت شل است که دستور زیر را انجام می‌دهد: #!/bin/sh cat /proc/$1/environ 2>/dev/null | xargs --null --max-args=1 echo | grep OMPI_COMM_WORLD_RANK .\" ************************** .\" See also section .\" ************************** .SH "همچنین ببینید (SEE ALSO)" . .ft R hwloc(7), lstopo(1), hwloc-calc(1), hwloc-distrib(1) و hwloc-ps.www/README .sp