안녕하세요. 미리 감사드립니다. 다음과 같은 문제가 있습니다. GUI가 있고 버튼이있어 실행중인 C++ 프로그램을 시작해야합니다. 같은 기계. 이 프로그램은 데이터 공유를 위해 SSM (ROS like)이라는 특정 프레임 워크를 사용합니다. 터미널에서 시작하면 프로그램 자체가 제대로 작동하지만 자바 프로세스 빌더로 시작할 때 모든 데이터에 액세스 할 수 없지만 프로세스가 계속 실행되는 것을 볼 수 있습니다.Java 프로세스 빌더, 프로그램 프로세스가 시작되지만 프로그램이 CPU 또는 메모리를 사용하지 않음
저는 우분투 14.04와 OpenJDK7을 사용하고 있습니다. 내가 사용 코드 (주석에 따라 업데이트 ) 다음과 같다 :
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput(Redirect.INHERIT);
builder.redirectError(Redirect.INHERIT);
builder.start();
내가 UDP를 통해받을 명령은 일부 데이터에서 오는 :
command[0] = Main_gui.getHomePath()+"PFforAEV_autoCalib_20140418/PFforAEV0.2.2";
command[1] = String.valueOf(initialPosition[0]);
command[2] = String.valueOf(initialPosition[1]);
command[3] = String.valueOf(initialPosition[2]);
command[4] = "walllandmark_F41_20130125";
더 구체적으로 프로세스 PFforAEV0.2.2이 실행 중이지만 CPU 또는 메모리를 사용하지 않는 것 같습니다. 프레임 워크를 통해 데이터에 액세스 할 수 없습니다. 마치 매달려있는 것처럼 보입니다.
자세한 내용을 알아 보려면 그냥 물어보십시오.
나를 도와 줄 사람이 있습니까? 감사합니다.
당신의 출력을 읽었다보기 흐름? http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html을 참조하십시오. – Jayan
@ rafalopez79에서 아래 해결책을 시도했습니다. – Dario