2012-07-11 4 views
1

내 상황을 사용하여 Windows에서 프로세스 트리를 죽이는 안전하고 올바른 방법이 있나요. lang.Runtime. 가장 심각한 문제는이 작업이 오랜 시간이 걸리고 실행 중에 일부 오류가 발생하고 전체 프로세스 트리가 여전히 살아 있다는 것입니다. 이는 응용 프로그램과 서버의 성능을 의심 할 여지없이 낮 춥니 다. 그래서 아무도이 문제를 안전하고 올바르게 해결할 수있는 아이디어를 제공 할 수 있는지 궁금합니다.Java 언어를

그리고 이것이 우리가 개발하는 데있어 매우 일반적인 질문 인 것을 알고 있습니다. 여기에 제공된 예제가 있으면 크게 감사하겠습니다. 당신이

Process p = Runtime.exec(""); 

와 응용 프로그램을 시작한 경우

답변

1

당신은 당신이 일괄 처리는 오류가있는 경우 그 자체를 파괴 할 수 있다면 그것은 좋은 것입니다 생각보다

p.destroy(); 

기타를 호출 할 수 있습니다 실행 중에 발생했습니다. 자세한 내용은 this question을 참조하십시오.

+0

귀중한 제안에 감사드립니다. –

0

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

인터페이스 CommandLauncher이 프로세스를 반환 여러 간부 인 방법을 포함하십시오.

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

+0

도움을 많이 주셔서 감사합니다. 중국 남자. –

관련 문제