现象
在mac下使用greys挂载Java进程的时候,报错。错误信息如下:
Unable to open socket file: target process not responding or HotSpot VM not loaded
原因与解决方法
最后发现是执行Java程序的jdk版本是Java8,而greys使用的是Java7导致。
解决方法很简单。让greys也使用Java8执行即可。至于如何设置,可以看greys.sh 脚本。
相关知识
一般出现这个错误,很有可能是没有找到pid文件导致的。每个Java进程启动都会生成一个pid文件。文件存放在java.io.tmpdir指定的文件夹中。查看文件夹路径的命令行如下:
$ jinfo 4570 | grep java.io.tmpdir $ java.io.tmpdir = /var/folders/2d/zby4vl_j66b4sf6f780mbnwr0000gn/T/
pid文件的完整的路径是 java.io.tmpdir + /hsperfdata_你的用户名/进程号。如:
/var/folders/2d/zby4vl_j66b4sf6f780mbnwr0000gn/T/hsperfdata_canglong/74546
技术交流
原文链接:Unable to open socket file: target process not responding or HotSpot VM not loaded,转载请注明来源!