> 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
