8177076: jshell tool: allow non-zero /exit
8190383: JShell API: no way for the jshell tool to report exit status to provider
Reviewed-by: jlahoda
'\" t.\" Copyright (c) 2012, 2015, 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..\".\" Title: jcmd.\" Language: English.\" Date: 03 March 2015.\" SectDesc: Troubleshooting Tools.\" Software: JDK 8.\" Arch: generic.\" Part Number: E38207-04.\" Doc ID: JSSON.\".if n .pl 99999.TH "jcmd" "1" "03 March 2015" "JDK 8" "Troubleshooting Tools".\" -----------------------------------------------------------------.\" * Define some portability stuff.\" -----------------------------------------------------------------.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.\" http://bugs.debian.org/507673.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.ie \n(.g .ds Aq \(aq.el .ds Aq '.\" -----------------------------------------------------------------.\" * set default formatting.\" -----------------------------------------------------------------.\" disable hyphenation.nh.\" disable justification (adjust text to left margin only).ad l.\" -----------------------------------------------------------------.\" * MAIN CONTENT STARTS HERE *.\" -----------------------------------------------------------------.SH "NAME"jcmd \- Sends diagnostic command requests to a running Java Virtual Machine (JVM)\&..SH "SYNOPSIS".sp.if n \{\.RS 4.\}.nf\fBjcmd\fR [\fB\-l\fR|\fB\-h\fR|\fB\-help\fR].fi.if n \{\.RE.\}.sp.if n \{\.RS 4.\}.nf\fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fBPerfCounter\&.print\fR.fi.if n \{\.RE.\}.sp.if n \{\.RS 4.\}.nf\fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fB\-f\fR \fIfilename\fR.fi.if n \{\.RE.\}.sp.if n \{\.RS 4.\}.nf\fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fIcommand\fR[ \fIarguments\fR].fi.if n \{\.RE.\}.SH "DESCRIPTION".PPThe\fBjcmd\fRutility is used to send diagnostic command requests to the JVM\&. It must be used on the same machine on which the JVM is running, and have the same effective user and group identifiers that were used to launch the JVM\&..if n \{\.sp.\}.RS 4.it 1 an-trap.nr an-no-space-flag 1.nr an-break-flag 1.br.ps +1\fBNote\fR.ps -1.br.TSallbox tab(:);l.T{.PPTo invoke diagnostic commands from a remote machine or with different identifiers, you can use the\fBcom\&.sun\&.management\&.DiagnosticCommandMBean\fRinterface\&. For more information about the\fBDiagnosticCommandMBean\fRinterface, see the API documentation at http://docs\&.oracle\&.com/javase/8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean\&.htmlT}.TE.sp 1.sp .5v.RE.PPIf you run\fBjcmd\fRwithout arguments or with the\fB\-l\fRoption, it prints the list of running Java process identifiers with the main class and command\-line arguments that were used to launch the process\&. Running\fBjcmd\fRwith the\fB\-h\fRor\fB\-help\fRoption prints the tool\(cqs help message\&..PPIf you specify the processes identifier (\fIpid\fR) or the main class (\fImain\-class\fR) as the first argument,\fBjcmd\fRsends the diagnostic command request to the Java process with the specified identifier or to all Java processes with the specified name of the main class\&. You can also send the diagnostic command request to all available Java processes by specifying\fB0\fRas the process identifier\&. Use one of the following as the diagnostic command request:.PPPerfcounter\&.print.RS 4Prints the performance counters available for the specified Java process\&. The list of performance counters might vary with the Java process\&..RE.PP\-f \fIfilename\fR.RS 4The name of the file from which to read diagnostic commands and send them to the specified Java process\&. Used only with the\fB\-f\fRoption\&. Each command in the file must be written on a single line\&. Lines starting with a number sign (\fB#\fR) are ignored\&. Processing of the file ends when all lines have been read or when a line containing the\fBstop\fRkeyword is read\&..RE.PP\fIcommand\fR [\fIarguments\fR].RS 4The command to be sent to the specified Java process\&. The list of available diagnostic commands for a given process can be obtained by sending the\fBhelp\fRcommand to this process\&. Each diagnostic command has its own set of arguments\&. To see the description, syntax, and a list of available arguments for a command, use the name of the command as the argument for the\fBhelp\fRcommand\&..sp\fBNote:\fRIf any arguments contain spaces, you must surround them with single or double quotation marks (\fB\*(Aq\fRor\fB"\fR)\&. In addition, you must escape single or double quotation marks with a backslash (\fB\e\fR) to prevent the operating system shell from processing quotation marks\&. Alternatively, you can surround these arguments with single quotation marks and then with double quotation marks (or with double quotation marks and then with single quotation marks)\&..RE.SH "OPTIONS".PPOptions are mutually exclusive\&..PP\-f \fIfilename\fR.RS 4Reads commands from the specified file\&. This option can be used only if you specify the process identifier or the main class as the first argument\&. Each command in the file must be written on a single line\&. Lines starting with a number sign (\fB#\fR) are ignored\&. Processing of the file ends when all lines have been read or when a line containing the\fBstop\fRkeyword is read\&..RE.PP\-h.br\-help.RS 4Prints a help message\&..RE.PP\-l.RS 4Prints the list of running Java processes identifiers with the main class and command\-line arguments\&..RE.SH "SEE ALSO".sp.RS 4.ie n \{\\h'-04'\(bu\h'+03'\c.\}.el \{\.sp -1.IP \(bu 2.3.\}jps(1).RE.br'pl 8.5i'bp