jcmd - обрабатывает пользовательские команды при запуске JVM
jcmd
Утилита предлагает несколько диагностических команд: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html
Можно ли иметь собственные команды и обрабатывать их в работающей JVM?
Что-то вроде: jcmd $PID myCmd
1 ответ
Решение
jcmd
обрабатывает только список предопределенных команд JVM. Однако существует несколько способов реализации пользовательских команд управления без jcmd
,
- Самый простой - просто открыть сокет внутри JVM для прослушивания входящих управляющих сообщений.
- В качестве альтернативы вы можете использовать механизм динамического присоединения для загрузки библиотеки агентов в работающий процесс JVM. Для этого есть как Java API, так и собственный интерфейс.