| JPS(1) | JDK Commands | JPS(1) |
نام (NAME)
jps - فهرست کردن JVMهای ابزاردقیقشده روی سیستم مقصد
خلاصه دستور (SYNOPSIS)
نکته: این دستور آزمایشی است و پشتیبانی نمیشود.
jps [-q] [-mlvV] [hostid]
jps [-help]
گزینهها (OPTIONS)
- -q
- از نمایش خروجی نام کلاس، نام فایل JAR و آرگومانهای ارسالی به متد main جلوگیری میکند و تنها فهرستی از شناسههای محلی JVM تولید مینماید.
- -mlvV
- میتوانید هر ترکیبی از این گزینهها را مشخص کنید.
- •
- -m آرگومانهای ارسالی به متد main را نمایش میدهد. این خروجی برای JVMهای تعبیهشده (embedded) ممکن است null باشد.
- •
- -l نام کامل بسته (package) را برای کلاس main برنامه یا مسیر کامل فایل JAR برنامه نمایش میدهد.
- •
- -v آرگومانهای ارسالی به JVM را نمایش میدهد.
- •
- -V از نمایش خروجی نام کلاس، نام فایل JAR و آرگومانهای ارسالی به متد main جلوگیری میکند و تنها فهرستی از شناسههای محلی JVM تولید مینماید.
- hostid
- شناسهٔ میزبانی که گزارش فرایند باید برای آن تولید شود. مقدار hostid میتواند شامل بخشهای اختیاری باشد که پروتکل ارتباطی، شماره پورت و سایر دادههای مختص پیادهسازی را مشخص میکنند. بخش شناسه میزبان (HOST IDENTIFIER) را ببینید.
- -help
- پیام راهنمای دستور jps را نمایش میدهد.
توضیحات (DESCRIPTION)
دستور jps ماشینهای مجازی Java HotSpot ابزاردقیقشده روی سیستم مقصد را فهرست میکند. این دستور تنها به گزارش اطلاعات JVMهایی محدود میشود که مجوزهای دسترسی به آنها را داشته باشد.
اگر دستور jps بدون تعیین یک hostid اجرا شود، به جستجوی JVMهای ابزاردقیقشده روی میزبان محلی میپردازد. اگر با یک hostid آغاز شود، با استفاده از پروتکل و پورت مشخصشده، در میزبان مورد نظر به جستجوی JVMها میپردازد. فرض بر این است که فرایند jstatd روی میزبان مقصد در حال اجرا باشد.
دستور jps شناسهٔ محلی JVM یا lvmid را برای هر JVM ابزاردقیقشدهٔ یافتشده روی سیستم مقصد گزارش میدهد. مقدار lvmid معمولاً (اما نه لزوماً) شناسهٔ فرایند سیستمعامل برای فرایند JVM است. بدون هیچ گزینهای، دستور jps شناسهٔ lvmid هر برنامهٔ جاوا را به همراه شکل کوتاه نام کلاس یا نام فایل jar برنامه فهرست میکند. شکل کوتاه نام کلاس یا نام فایل JAR، اطلاعات بستهٔ کلاس یا اطلاعات مسیر فایل JAR را نادیده میگیرد.
دستور jps از راهانداز جاوا برای یافتن نام کلاس و آرگومانهای ارسالی به متد main استفاده میکند. اگر JVM مقصد با یک راهانداز سفارشی راهاندازی شده باشد، نام کلاس یا فایل JAR و همچنین آرگومانهای ارسالشده به متد main در دسترس نخواهند بود. در این وضعیت، دستور jps برای نام کلاس یا نام فایل JAR و همچنین برای آرگومانهای ارسالشده به متد main رشتهٔ Unknown را چاپ میکند.
فهرست JVMهای ارائهشده توسط دستور jps میتواند توسط مجوزهای اعطاشده به کاربر یا هویتی که دستور را اجرا میکند محدود شود. این دستور تنها JVMهایی را فهرست میکند که کاربر اجراکننده بر اساس سازوکارهای کنترل دسترسی سیستمعامل، حق دسترسی به آنها را داشته باشد.
شناسه میزبان (HOST IDENTIFIER)
شناسهٔ میزبان یا hostid رشتهای است که سیستم مقصد را مشخص میکند. نحو رشتهٔ hostid متناظر با نحو یک URI است:
[protocol:][[//]hostname][:port][/servername]
- protocol
- پروتکل ارتباطی. اگر protocol حذف شود و هیچ hostname مشخص نشده باشد، پروتکل پیشفرض یک پروتکل محلی بهینهشده و مختص به پلتفرم است. اگر پروتکل حذف شود و یک نام میزبان مشخص شده باشد، پروتکل پیشفرض rmi خواهد بود.
- hostname
- یک نام میزبان یا آدرس IP که میزبان مقصد را مشخص میکند. اگر پارامتر hostname را حذف کنید، میزبان مقصد همان میزبان محلی خواهد بود.
- port
- پورت پیشفرض برای برقراری ارتباط با سرور دوردست. اگر پارامتر hostname حذف شود یا پارامتر protocol یک پروتکل محلی بهینهشده را مشخص کند، پارامتر port نادیده گرفته میشود. در غیر این صورت، نحوهٔ برخورد با پارامتر port وابسته به پیادهسازی خواهد بود. برای پروتکل پیشفرض rmi، پارامتر port شماره پورت برای rmiregistry روی میزبان دوردست را نشان میدهد. اگر پارامتر port حذف شود و پارامتر protocol نشاندهندهٔ rmi باشد، پورت پیشفرض rmiregistry (1099) استفاده میشود.
- servername
- نحوهٔ برخورد با این پارامتر بستگی به پیادهسازی دارد. برای پروتکل محلی بهینهشده، این فیلد نادیده گرفته میشود. برای پروتکل rmi، این پارامتر رشتهای است که نام شیء دوردست RMI را در میزبان دوردست مشخص میکند. گزینهٔ -n دستور jstatd را ببینید.
قالب خروجی دستور JPS (OUTPUT FORMAT OF THE JPS COMMAND)
خروجی دستور jps دارای الگوی زیر است:
lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
همهٔ نشانههای خروجی با فاصله از یکدیگر جدا میشوند. مقدار arg که شامل فاصله درونی باشد، هنگام تلاش برای نگاشت آرگومانها به پارامترهای مکانی واقعیشان باعث ابهام میشود.
نکته:
توصیه میشود اسکریپتهایی برای تجزیهٔ خروجی jps ننویسید زیرا ممکن است این قالب در نسخههای آینده تغییر کند. اگر اسکریپتهایی بنویسید که خروجی jps را تجزیه کنند، باید انتظار داشته باشید که برای نسخههای بعدی این ابزار آنها را تغییر دهید.
مثالها (EXAMPLES)
این بخش مثالهایی از دستور jps ارائه میدهد.
فهرست کردن JVMهای ابزاردقیقشده روی میزبان محلی:
-
jps 18027 Java2Demo.JAR 18032 jps 18005 jstat
مثال زیر JVMهای ابزاردقیقشده روی یک میزبان دوردست را فهرست میکند. این مثال فرض میکند که کارگزار jstat و همچنین رجیستری RMI داخلی آن یا یک فرایند rmiregistry خارجی و مجزا روی میزبان دوردست و روی پورت پیشفرض (پورت 1099) در حال اجرا هستند. همچنین فرض میکند که میزبان محلی دارای مجوزهای لازم برای دسترسی به میزبان دوردست است. این مثال شامل گزینهٔ -l برای نمایش شکل بلند نام کلاسها یا نام فایلهای JAR است.
-
jps -l remote.domain 3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR 2857 sun.tools.jstatd.jstatd
مثال زیر JVMهای ابزاردقیقشده روی یک میزبان دوردست با پورتی غیرپیشفرض برای رجیستری RMI را فهرست میکند. این مثال فرض میکند که کارگزار jstatd همراه با یک رجیستری داخلی RMI متصل به پورت 2002 روی میزبان دوردست در حال اجرا است. این مثال همچنین از گزینهٔ -m برای گنجاندن آرگومانهای ارسالشده به متد main هر یک از برنامههای جاوای فهرستشده استفاده میکند.
-
jps -m remote.domain:2002 3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR 3102 sun.tools.jstatd.jstatd -p 2002
| 2021 | JDK 17 |