프로세스의 프로세스 ID가 있습니다. CPU %, 메모리, EXE 이름 등과 같은 프로세스에 대한 다른 정보를 얻을 수 있습니까?Java로 pid를 사용하여 프로세스 정보를 얻는 방법은 무엇입니까?
나는이 모든 것을 얻는 기본 제공 함수가 없음을 보았습니다. Native와 함께이 작업을 수행하는 방법은 무엇입니까?
도와주세요.
-Ravi
프로세스의 프로세스 ID가 있습니다. CPU %, 메모리, EXE 이름 등과 같은 프로세스에 대한 다른 정보를 얻을 수 있습니까?Java로 pid를 사용하여 프로세스 정보를 얻는 방법은 무엇입니까?
나는이 모든 것을 얻는 기본 제공 함수가 없음을 보았습니다. Native와 함께이 작업을 수행하는 방법은 무엇입니까?
도와주세요.
-Ravi
글쎄, 당신은 OS에서 얻을 수있는 그 모든 정보. 예를 들어 Windows의 작업 관리자
자바 당신이 스레드 덤프, 예를 들어, 없습니다 제공 할 수있는 일 : 없음이
%JAVA_HOME%/bin/jmap.exe -dump:format=b,file=heap.bin PID
자바에 내장 :
%JAVA_HOME%/bin/jstack.exe PID >stack.txt
또는, 힙 덤프 API 내 지식에 노출 :
하지만 당신은 페어에서 OS 기본 명령과 자바를 연결할 수 있습니다 fo.
윈도우 (작업 목록) 탐험 : http://msdn.microsoft.com/en-us/library/windows/hardware/ff545415(v=vs.85).aspx
유닉스 (PS) 탐험 : Shell script to get the process ID on Linux
자바는 플랫폼 독립적 인 플랫폼입니다. 그것의 명세는 pid에 대해 아무 것도 정의하지 않는다. 그래서 당신은 PID를 조작하는 일반적인/휴대용 방법을 찾을 수 없습니다. 좋은 실행은 아니지만 특정 플랫폼에 대해 구현할 수 있습니다.
windows에서는 tasklist
을 사용하여 원하는 PID의 전체 목록을 얻고 필터 할 수 있습니다.
Unix/Linux 시스템의 경우 정보를 얻으려면 ps ax | grep
을 사용할 수 있습니다.
자바 API를 통하지 않습니다. JNI/JNA (네이티브) 솔루션이 필요합니다. – MadProgrammer