2013-06-12 1 views
3

프로세스의 프로세스 ID가 있습니다. CPU %, 메모리, EXE 이름 등과 같은 프로세스에 대한 다른 정보를 얻을 수 있습니까?Java로 pid를 사용하여 프로세스 정보를 얻는 방법은 무엇입니까?

나는이 모든 것을 얻는 기본 제공 함수가 없음을 보았습니다. Native와 함께이 작업을 수행하는 방법은 무엇입니까?

도와주세요.

-Ravi

+1

자바 API를 통하지 않습니다. JNI/JNA (네이티브) 솔루션이 필요합니다. – MadProgrammer

답변

2

글쎄, 당신은 OS에서 얻을 수있는 그 모든 정보. 예를 들어 Windows의 작업 관리자

자바 당신이 스레드 덤프, 예를 들어, 없습니다 제공 할 수있는 일 : 없음이

%JAVA_HOME%/bin/jmap.exe -dump:format=b,file=heap.bin PID 
0

자바는 플랫폼 독립적 인 플랫폼입니다. 그것의 명세는 pid에 대해 아무 것도 정의하지 않는다. 그래서 당신은 PID를 조작하는 일반적인/휴대용 방법을 찾을 수 없습니다. 좋은 실행은 아니지만 특정 플랫폼에 대해 구현할 수 있습니다.

windows에서는 tasklist을 사용하여 원하는 PID의 전체 목록을 얻고 필터 할 수 있습니다.

Unix/Linux 시스템의 경우 정보를 얻으려면 ps ax | grep을 사용할 수 있습니다.