откуда jconsole / visualvm узнает о локально работающих java приложениях - PullRequest
0 голосов
/ 31 марта 2020

Когда вы запускаете jconsole или visualvm, они представляют вам список «локально запущенных java приложений», которые можно подключать и отслеживать.

Как он узнает, какие приложения, запущенные локально, существуют?

1 Ответ

2 голосов
/ 31 марта 2020

Цитирование из документации VisualVM (описано в Когда нужны явные JMX-соединения? и касается локальных экземпляров):

Java VisualVM обнаруживает запущенные приложения с помощью инструмента jps (Solaris, Linux или Ma c OS X или Windows), который может обнаруживать только Java приложений, запущенных тем же пользователем, что и тот, кто запускает Java Средство VisualVM.

Информация о том, как jps обнаруживает локальные виртуальные машины, содержится, например, в этом ответе SO. Короче говоря, он сканирует каталог /tmp/hsperfdata_<username>, где экземпляры JVM генерируют информационные файлы.

...