Невозможно открыть файл сокета: целевой процесс не отвечает или виртуальная машина 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 (где у меня была такая же проблема), и я мог профилировать приложение без этой ошибки.

Другие вопросы по тегам