1
proc 파일/proc // status의 마지막 n 바이트를 읽으려고합니다. 일반 파일에C의 proc 파일에서 마지막 n 바이트를 읽는 방법
는, 내가 좋아하는 파일의 끝에서 fseek의 수 :
fseek(proc_file, -BUF_SIZE, SEEK_END);
하지만 proc 파일이 제로 크기를 가지고 있기 때문에,이 작동하지 않습니다.
끝에 읽는 방법에 대한 제안 사항이 있으십니까?
나는 끝까지 반복하는 것을 피하고 싶다.
1024 바이트이면 충분합니다. $ (ls -1/proc | egrep '^ [0-9] + $')에있는 파일을 위해'; wc -c/proc/$ file/status 2>/dev/null을 수행하십시오. 완료 | sort -n'은 내 시스템에서 최소값은 532 였고 최대 값은 850이었습니다. 보수적 인 쪽에서는 아마도 실수로 4096이었습니다. – mpontillo
WRT 버퍼링 : 이것은 일반적인 파일 시스템에는 해당되지만 procfs에는 해당되지 않습니다. 블록 장치가 지원하지 않으므로 캐싱이 없습니다. 읽기 작업은 커널이 직접 수행합니다. – duskwuff
@Mike 클러스터에서 1k가 넘는 것을 보았지만 4k를 사용하게되었습니다. –