我需要从部署在cloudfoundry
上的Web应用程序执行以下命令。
String javaHome = System.getenv("JAVA_HOME");
String javaLocation = javaHome+"/bin/java";
String command = javaLocation+" -Xms256m -Xmx512m -Dcom.sun.btrace.probeDescPath=. -Dcom.sun.btrace.dumpClasses=false -Dcom.sun.btrace.debug=false -Dcom.sun.btrace.unsafe=false -cp "+btraceLib+":"+toolsLib+ " com.sun.btrace.client.Main "+pid+" "+probeScript;
Process p = runTime.exec(command);
但是我收到以下错误:
Unable to open socket file: target process not responding or HotSpot VM not loaded
我尝试在jvm的堆大小上使用不同的边界,但得到相同的错误。
如何解决错误?
答案 0 :(得分:1)
变化:
Process p = runTime.exec(command);
要:
Process p = Runtime.getRuntime().exec(command);
答案 1 :(得分:0)
不知道“真正的”解决方案,但我从1.7(我遇到同样的问题)降级到java 1.6,我可以在没有此错误的情况下分析应用程序。