1回复
5年前
windows service下的java进程如何attach?
在windows环境下,假设java进程为tomcat。
如果使用startup.bat作为前台进程启动,在不设置jmxremote的情况,用jconsole可以正常连接。原理应该是jconsole对该进程进行了attach,然后loadagent了management-agent.jar,生成一个com.sun.management.jmxremote.localConnectorAddress的service:jmx:rmi地址;
如果是使用tomcat9w.exe(或者tomcat8w.exe等),将tomcat作为windows service进程启动,虽然也是java进程,但是使用jconsole就无法连接了;
作为windows service启动:
mode为java:
用户为当前用户(administrator):
通过任务管理器找到对应的hsperfdata句柄
将当前tmp目录设置为hsperfdata所在目录,并启动jconsole
显示如下:
貌似是因为无法attach到该java进程,从而无法进行load等一系列操作。
请问下各位大神,是否有方法在不设置jmxremote的情况下,对windows service启动的java进程,进行jconsole连接?
4159 阅读