https://github.com/hengyoush/java-agent-loader
不需要JVM就可以attach指定java agent到指定JVM中
https://github.com/hengyoush/java-agent-loader
Last synced: 18 days ago
JSON representation
不需要JVM就可以attach指定java agent到指定JVM中
- Host: GitHub
- URL: https://github.com/hengyoush/java-agent-loader
- Owner: hengyoush
- Created: 2023-07-22T15:21:13.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-27T12:29:12.000Z (over 1 year ago)
- Last Synced: 2025-02-10T05:43:41.685Z (2 months ago)
- Language: Go
- Homepage:
- Size: 1.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java-Agent-Loader
不需要JVM就可以attach指定java agent到指定JVM中# 使用方法
./agent_loader {pid} /path/to/your-agent.jar# 实现原理
JVM利用了Unix Domain Socket跨进程通信的机制,JVM指定了一个文件创建socket,由用户写入命令到socket,JVM从其中读取命令执行并返回响应。
其详细步骤如下所述:
1. java_pid文件
2.创建attach_pid文件
3.发送QUIT信号,等待JVM创建java_pid文件
4. connect socket
5. write命令 protocol version + cmd + args
6. read response