2011-10-02 1 views
1

프로세스 생성을 위해 Apache Commons Exec jars를 사용하고 있습니다. 그러나 호출되는 프로세스의 프로세스 ID 제어권을 얻고 싶습니다.Apache Commons Exec의 프로세스 개체

Apache Commons Exec API에서 'Process'개체를 가져 오는 방법이 있습니까? 나는 Process 클래스를 반환하는 public 메서드를 사용하지 않았다.

답변

0

http://commons.apache.org/exec/apidocs/index.html

인터페이스 CommandLauncher이 Process를 반환 exec 여러 가지 방법을 포함하십시오.

하지만 어쨌든 프로세스 ID를 제어 할 수있는 방법이 없습니다. OS의 책임입니다. 또한 표준 Java API는 프로세스 ID를 검색하는 것을 허용하지 않습니다. 이전 Java 버전에는 트릭이있었습니다. Process의 구현에는 리플렉션을 사용하여 검색 할 수있는 int 필드 PID가 포함되어있었습니다. 그러나 이것은 1.6 버전에서 변경되었습니다.

+0

감사합니다. 프로세스 객체는 내가 여기에서 질문했던 또 다른 질문과 관련이있다. 여기에 설명 된대로 JNA를 사용하고 있습니다 [link] (http://stackoverflow.com/questions/4912282/java-tool-method-to-force-kill-a-child-process/6032734#6032734) 프로세스를 검색하려면 id를 입력하고 windows의 taskkill 명령을 사용하여 전체 프로세스 트리를 종료합니다. –