안녕하세요.
제가 알기론 ps나 top은 /proc 시스템을 이용하는 것으로 알고 있습니다.
실제로 strace 한 결과를 보면.. /proc 파일 시스템을 이용하는 것을 볼 수 있죠.
stat("/proc/12139", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/12139/stat", O_RDONLY) = 7
read(7, "12139 (more) S 11116 12138 11091"..., 511) = 195
close(7) = 0
open("/proc/12139/statm", O_RDONLY) = 7
read(7, "126 126 101 7 0 119 25", 511) = 23
close(7) = 0
open("/proc/12139/status", O_RDONLY) = 7
read(7, "Name: moreState: S (sleeping)P"..., 511) = 414
close(7) = 0
open("/proc/12139/cmdline", O_RDONLY) = 7
read(7, "more", 2047) = 4
close(7) = 0
open("/proc/12139/environ", O_RDONLY) = 7
read(7, "LESSOPEN=|/usr/bin/lesspipe.sh %"..., 2047) = 1192
brk(0x8177000) = 0x8177000
close(7) = 0
readlink("/proc/12139/fd/2", "/dev/pts/3", 4096) = 10
stat("/dev/pts/3", {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 3), ...}) = 0
원하시는 mem이나 cpu time 은 /proc/pid_of_process/stat 파일을 읽음으로써 알아
낼 수 있습니다.
open("/proc/12139/stat", O_RDONLY) = 7
read(7, "12139 (more) S 11116 12138 11091"..., 511) = 195
close(7) = 0
stat에 관한 설명은 man proc 에서 찾아보세요.
: 어디 없나요???
: 혹시 아시는분은 꼭꼭 알려주세여..
: 아무리 찾아봐도 원하는건 안나오고..
: 아님 혹시...
: 한프로세스나 쓰레드가..
: 사용하는 메모리양과 CPU사용량을
: 체크하는 function이나 structure좀 알려주시던가염 !.!
: 아고 머리아포라 !.!
:
: 미리미리 감사드립니다..--return true