저는 파이어 폭스와 같은 응용 프로그램을 시작할 수있는 java로 프로그램을 작성하고 있습니다.외부 응용 프로그램이 완전히 실행 중일 때 알림 받기 - Java
편집 :이 프로그램은 리눅스, 특히 우분투 용입니다.
Runtime.getRuntime().exec("/usr/bin/firefox");
는 그러나, 나는 완전히 열거 나 실행되면 창에서 세부 정보를 검색 할 :
이 프로그램을 시작하기 쉽습니다.
Thread.sleep(delay);
윈도우가 준비되어 있는지 확인하려면하지만이 가난한 솔루션입니다 : 순간
난 그냥 전화 했어. 다른 지연이 필요한 다른 창은 문제입니다.
지저분한.
내 질문에, 거기에 어떤 방식으로 파이어 폭스 (또는 그 문제에 대한 다른 외부 응용 프로그램) 완전히 설치할 때 알림을받을 수 있습니까? firefox가 닫힐 때까지 프로세스가 완료되지 않기 때문에 Process.waitFor()를 사용할 수 없다고 생각합니다.
미리 감사드립니다.
업데이트 : Process.waitFor()가 작동하지 않습니다. 나는 그것을 시도하고 파이어 폭스가 닫혀있을 때만 반환되며, 완전히 설정되지 않은 경우에는 반환되지 않습니다. 처음에는 다른 파이어 폭스 창을 열어 놓은 채로 작동 시키면 (처음에는 나를 바보로 만들었지 만) 기존 창이 없다면 그렇지 않을 것입니다!
나는 리눅스에서 어떻게 할 수 있는지 모르겠다. 윈도우에서 우리는 그 프로그램과 관련된 창이 열려 있는지 (JNI를 통해) 확인해야 할 것이다. 리눅스에서는 Running, Waiting 또는 Sleeping, Stopped and Zombie 등의 프로세스 상태에 대해서만 알고 있으며 원하는 정보를 보유하고있는 사람은 아무도 없습니다. 아마도 우리는 몇 가지 API를 사용하여 Windows에서하는 것처럼해야 할 것입니다. –