.\" Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Automatically generated by Pandoc 2.19.2 .\" .\" Define V font for inline verbatim, using C font in formats .\" that render this, and otherwise B font. .ie "\f[CB]x\f[R]"x" \{\ . ftr V B . ftr VI BI . ftr VB B . ftr VBI BI .\} .el \{\ . ftr V CR . ftr VI CI . ftr VB CB . ftr VBI CBI .\} .TH "JPS" "1" "2023" "JDK 21" "دستورهای JDK" .hy .SH "نام (NAME)" .PP jps \- فهرست کردن ماشین‌های مجازی جاوای HotSpot در حال اجرا در سیستم در OpenJDK 21 .SH "خلاصه دستور (SYNOPSIS)" .PP \f[B]نکته:\f[R] این دستور آزمایشی است و پشتیبانی رسمی ندارد. .PP \f[V]jps\f[R] [\f[V]-q\f[R]] [\f[V]-mlvV\f[R]] [\f[I]hostid\f[R]] .PP \f[V]jps\f[R] [\f[V]-help\f[R]] .SH "گزینه‌ها (OPTIONS)" .TP \f[V]-q\f[R] از نمایش نام کلاس، نام فایل JAR و آرگومان‌های ارائه‌شده به متد \f[V]main\f[R] جلوگیری کرده و تنها فهرستی از شناسه‌های محلی JVM تولید می‌کند. .TP \f[V]-mlvV\f[R] می‌توانید هر ترکیبی از این گزینه‌ها را مشخص کنید. .RS .IP \[bu] 2 گزینه \f[V]-m\f[R] آرگومان‌های ارائه‌شده به متد \f[V]main\f[R] را نمایش می‌دهد. خروجی برای JVMهای توکار (embedded) ممکن است \f[V]null\f[R] باشد. .IP \[bu] 2 گزینه \f[V]-l\f[R] نام کامل بسته (package) را برای کلاس \f[V]main\f[R] برنامه یا مسیر کامل فایل JAR برنامه نمایش می‌دهد. .IP \[bu] 2 گزینه \f[V]-v\f[R] آرگومان‌های ارائه‌شده به JVM را نمایش می‌دهد. .IP \[bu] 2 گزینه \f[V]-V\f[R] از نمایش نام کلاس، نام فایل JAR و آرگومان‌های ارائه‌شده به متد \f[V]main\f[R] جلوگیری کرده و تنها فهرستی از شناسه‌های محلی JVM تولید می‌کند. .RE .TP \f[I]hostid\f[R] شناسه میزبانی که گزارش فرآیندها باید برای آن تولید شود. مقدار \f[V]hostid\f[R] می‌تواند شامل مؤلفه‌های اختیاری باشد که پروتکل ارتباطی، شماره پورت و سایر داده‌های مختص پیاده‌سازی را مشخص می‌کنند. بخش \f[B]شناسه میزبان (HOST IDENTIFIER)\f[R] را ببینید. .TP \f[V]-help\f[R] پیام راهنمای دستور \f[V]jps\f[R] را نمایش می‌دهد. .SH "توضیحات (DESCRIPTION)" .PP دستور \f[V]jps\f[R] فهرستی از ماشین‌های مجازی جاوای HotSpot دارای ابزاردقیق (instrumented) را در سیستم هدف ارائه می‌دهد. این دستور محدود به گزارش اطلاعات JVMهایی است که دسترسی لازم برای آن‌ها را دارد. .PP اگر دستور \f[V]jps\f[R] بدون مشخص کردن \f[V]hostid\f[R] اجرا شود، در میزبان محلی به دنبال JVMهای ابزاربندی‌شده می‌گردد. اگر با یک \f[V]hostid\f[R] آغاز شود، با استفاده از پروتکل و پورت مشخص‌شده در میزبان تعیین‌شده به جستجوی JVMها می‌پردازد. در این حالت فرض می‌شود یک فرآیند \f[V]jstatd\f[R] روی میزبان هدف در حال اجرا است. .PP دستور \f[V]jps\f[R] شناسه محلی JVM یا \f[V]lvmid\f[R] را برای هر JVM ابزاربندی‌شده یافت‌شده در سیستم هدف گزارش می‌کند. مقدار \f[V]lvmid\f[R] معمولاً (اما نه الزاماً) همان شناسه فرآیند سیستم‌عامل (PID) برای فرآیند JVM است. بدون هیچ گزینه‌ای، دستور \f[V]jps\f[R] شناسه \f[V]lvmid\f[R] هر برنامه جاوا را به همراه نام کوتاه کلاس برنامه یا نام فایل jar آن فهرست می‌کند. شکل کوتاه نام کلاس یا نام فایل JAR، اطلاعات بسته (package) کلاس یا مسیر فایل JAR را حذف می‌کند. .PP دستور \f[V]jps\f[R] از اجراکننده جاوا (Java launcher) برای یافتن نام کلاس و آرگومان‌های ارائه‌شده به متد main استفاده می‌کند. اگر JVM هدف با یک اجراکننده سفارشی راه‌اندازی شده باشد، نام کلاس یا فایل JAR و آرگومان‌های متد \f[V]main\f[R] در دسترس نخواهند بود. در این حالت، دستور \f[V]jps\f[R] رشته \f[V]Unknown\f[R] را برای نام کلاس یا فایل JAR و آرگومان‌های متد \f[V]main\f[R] نمایش می‌دهد. .PP فهرست JVMهای ارائه‌شده توسط دستور \f[V]jps\f[R] می‌تواند بر اساس مجوزهای اعطا‌شده به کاربری که دستور را اجرا می‌کند محدود شود. این دستور تنها JVMهایی را فهرست می‌کند که کاربر جاری طبق سازوکارهای کنترل دسترسی سیستم‌عامل، مجوز دسترسی به آن‌ها را داشته باشد. .SH "شناسه میزبان (HOST IDENTIFIER)" .PP شناسه میزبان یا \f[V]hostid\f[R] رشته‌ای است که سیستم هدف را مشخص می‌کند. ساختار نگارشی رشته \f[V]hostid\f[R] مطابق با ساختار یک نشانی URI است: .RS .PP [\f[I]protocol\f[R]\f[V]:\f[R]][[\f[V]//\f[R]]\f[I]hostname\f[R]][\f[V]:\f[R]\f[I]port\f[R]][\f[V]/\f[R]\f[I]servername\f[R]] .RE .TP \f[I]protocol\f[R] پروتکل ارتباطی. اگر \f[I]protocol\f[R] حذف شود و \f[I]hostname\f[R] نیز مشخص نشده باشد، پروتکل پیش‌فرض یک پروتکل محلی، بهینه‌سازی‌شده و مختص پلتفرم خواهد بود. اگر پروتکل حذف شود اما نام میزبان مشخص شده باشد، پروتکل پیش‌فرض \f[V]rmi\f[R] است. .TP \f[I]hostname\f[R] نام میزبان یا آدرس IP که میزبان هدف را مشخص می‌کند. اگر پارامتر \f[I]hostname\f[R] را حذف کنید، میزبان هدف همان میزبان محلی خواهد بود. .TP \f[I]port\f[R] پورت پیش‌فرض برای برقراری ارتباط با کارساز دوردست. اگر پارامتر \f[I]hostname\f[R] حذف شود یا پارامتر \f[I]protocol\f[R] یک پروتکل محلی بهینه‌سازی‌شده را مشخص کند، پارامتر \f[I]port\f[R] نادیده گرفته می‌شود. در غیر این صورت، نحوه برخورد با پارامتر \f[I]port\f[R] بسته به پیاده‌سازی متفاوت است. برای پروتکل پیش‌فرض \f[V]rmi\f[R]، پارامتر \f[I]port\f[R] شماره پورت برای \f[V]rmiregistry\f[R] در میزبان دوردست را نشان می‌دهد. اگر پارامتر \f[I]port\f[R] حذف شود و پارامتر \f[I]protocol\f[R] نشان‌دهنده \f[V]rmi\f[R] باشد، پورت پیش‌فرض \f[V]rmiregistry\f[R] (\f[V]1099\f[R]) استفاده می‌شود. .TP \f[I]servername\f[R] نحوه پردازش این پارامتر به پیاده‌سازی بستگی دارد. برای پروتکل محلی بهینه‌سازی‌شده، این فیلد نادیده گرفته می‌شود. برای پروتکل \f[V]rmi\f[R]، این پارامتر رشته‌ای است که نام شیء دوردست RMI را در میزبان دوردست مشخص می‌کند. گزینه \f[V]-n\f[R] دستور \f[B]jstatd\f[R] را ببینید. .SH "قالب خروجی دستور JPS (OUTPUT FORMAT OF THE JPS COMMAND)" .PP خروجی دستور \f[V]jps\f[R] از الگوی زیر پیروی می‌کند: .RS .PP \f[I]lvmid\f[R] [ [ \f[I]classname\f[R] | \f[I]JARfilename\f[R] | \f[V]\[dq]Unknown\[dq]\f[R]] [ \f[I]arg\f[R]* ] [ \f[I]jvmarg\f[R]* ] ] .RE .PP تمام بخش‌های خروجی با فاصله خالی از هم جدا می‌شوند. اگر مقدار \f[V]arg\f[R] حاوی فاصله‌های خالی درونی باشد، هنگام تلاش برای تطبیق آرگومان‌ها با پارامترهای مکانی واقعی آن‌ها ابهام ایجاد می‌شود. .PP \f[B]نکته:\f[R] .PP توصیه می‌شود برای تجزیه (parse) خروجی \f[V]jps\f[R] اسکریپت ننویسید، زیرا ممکن است قالب آن در نسخه‌های آینده تغییر کند. اگر اسکریپت‌هایی می‌نویسید که خروجی \f[V]jps\f[R] را تجزیه می‌کنند، انتظار داشته باشید که برای نسخه‌های آینده این ابزار نیاز به اصلاح آن‌ها داشته باشید. .SH "مثال‌ها (EXAMPLES)" .PP این بخش مثال‌هایی از دستور \f[V]jps\f[R] را ارائه می‌دهد. .PP فهرست کردن JVMهای ابزاربندی‌شده روی میزبان محلی: .IP .nf \f[CB] jps 18027 Java2Demo.JAR 18032 jps 18005 jstat \f[R] .fi .PP مثال زیر JVMهای ابزاربندی‌شده روی یک میزبان دوردست را فهرست می‌کند. این مثال فرض می‌کند که کارساز \f[V]jstat\f[R] و رجیستری داخلی RMI آن یا یک فرآیند جداگانه خارجی \f[V]rmiregistry\f[R] روی میزبان دوردست و روی پورت پیش‌فرض (پورت \f[V]1099\f[R]) در حال اجرا هستند. همچنین فرض می‌کند میزبان محلی دسترسی‌های لازم برای ارتباط با میزبان دوردست را دارد. این مثال شامل گزینه \f[V]-l\f[R] برای نمایش نام کامل کلاس‌ها یا نام فایل‌های JAR است. .IP .nf \f[CB] jps -l remote.domain 3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR 2857 sun.tools.jstatd.jstatd \f[R] .fi .PP مثال زیر JVMهای ابزاربندی‌شده روی یک میزبان دوردست با پورتی غیر از پورت پیش‌فرض برای رجیستری RMI را فهرست می‌کند. این مثال فرض می‌کند که کارساز \f[V]jstatd\f[R] با یک رجیستری داخلی RMI متصل به پورت \f[V]2002\f[R] روی میزبان دوردست در حال اجرا است. این مثال همچنین از گزینه \f[V]-m\f[R] برای گنجاندن آرگومان‌های ارائه‌شده به متد \f[V]main\f[R] هر یک از برنامه‌های جاوای فهرست‌شده استفاده می‌کند. .IP .nf \f[CB] jps -m remote.domain:2002 3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR 3102 sun.tools.jstatd.jstatd -p 2002 \f[R] .fi