Невозможно открыть файл сокета: целевой процесс не отвечает или виртуальная машина HotSpot не загружена
Мне нужно выполнить следующую команду из веб-приложения, развернутого на cloudfoundry
,
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, но получаю ту же ошибку.
Как я могу устранить ошибку?
2 ответа
Изменить:
Process p = runTime.exec(command);
Для того, чтобы:
Process p = Runtime.getRuntime().exec(command);
Не знаю "реального" решения, но я понизил Java до версии 1.6 с 1.7 (где у меня была такая же проблема), и я мог профилировать приложение без этой ошибки.