> I propose a Bash auto-completion script for the `jcmd` tool. It will simplify 
> the most tedious part of `jcmd` tool usage -selecting <PID|main-class> and 
> the command name.
> 
> To determine auto-completion candidates, the script makes intermediate calls 
> to `jcmd` and then parses the output:
> * `jcmd -l` to retrieve the list of running JVM processes;
> * `jcmd <PID> help` to get the list of available diagnostic commands;
> 
> The "-o nosort" is set to preserve natural ordering of candidates: The 
> resulting order of completion candidates printed, on double-`TAB` is 
> structured:  the JVM identifier (<main-class | path-to-jar>) appears 
> immediately after the corresponding PID, maintaining a clear and meaningful 
> association.
> 
> Example with 2 JVMs running:
> 
> $ jcmd -l
> 91936 jdk.jcmd/sun.tools.jcmd.JCmd -l
> 91668 install/MyApp.jar
> 91769 EventGeneratorLoop 100
> $ jcmd <TAB_key_press>
> -l                  --help              91668               install/MyApp.jar 
>   91769               EventGeneratorLoop
> 
> 
> Overall it should greatly improve QoL for `jcmd` Users.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Ivan Bereziuk has updated the pull request incrementally with one additional 
commit since the last revision:

  add missing semicollon

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/30606/files
  - new: https://git.openjdk.org/jdk/pull/30606/files/a5280e96..264414f9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=30606&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=30606&range=04-05

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/30606.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/30606/head:pull/30606

PR: https://git.openjdk.org/jdk/pull/30606

Reply via email to