### JVM Dynamic Attach utility
-The utility to send commands to remote JVM via Dynamic Attach mechanism.
+The utility to send commands to a JVM process via Dynamic Attach mechanism.
All-in-one **jmap + jstack + jcmd + jinfo** functionality in a single tiny program.
No installed JDK required, works with just JRE. Supports Linux containers.
- **printflag** : print VM flag
- **jcmd** : execute jcmd command
+### Download
+
+Binaries are available on the [Releases](https://github.com/apangin/jattach/releases) page.
+
+On some platforms, you can also [install](#installation) jattach with a package manager.
+
### Examples
-#### Load JVMTI agent
+#### Load native agent
$ jattach <pid> load <.so-path> { true | false } [ options ]
`options` are passed to the agent.
+#### Load Java agent
+
+Java agents are loaded by the special built-in native agent named `instrument`,
+which takes .jar path and its arguments as a single options string.
+
+ $ jattach <pid> load instrument false "javaagent.jar=arguments"
+
#### List available jcmd commands
$ jattach <pid> jcmd "help -all"
#### Alpine Linux
-On Alpine Linux, you can use the following command to install `jattach` package from the edge/testing repository:
+On Alpine Linux, you can use the following command to install `jattach` package from the edge/community repository:
- $ apk add --no-cache jattach --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/
+ $ apk add --no-cache jattach --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/
#### Archlinux
[jattach](https://aur.archlinux.org/packages/jattach/) package can be installed from [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) using one of [AUR helpers](https://wiki.archlinux.org/index.php/AUR_helpers), e.g., `yay`:
$ yay -S jattach
+
+#### Debian Linux
+
+On Debian Linux, you can use the following command to install `jattach` from the [official repository](https://packages.debian.org/search?keywords=jattach):
+
+ $ apt install jattach
+
+Packages are provided for **bullseye** (stable), **bookworm** (testing) and **sid** (unstable).