Quizás esté interesado en cuotas de disco (que son compatibles con algunos, pero no todos, los sistemas de archivos). La llamada al sistema de bajo nivel es quotactl(2). Quizás utilizando las herramientas existentes quota(1) y quotacheck
, edquota
, warnquota
, quotaon
etc ... podría ser suficiente.
Si desea conocer la memoria utilizada por un proceso determinado, considere el getrusage(2) syscall. También puede leer pseudo-archivos bajo /proc/self/
o /proc/1234
para pid 1234. Más información acerca de proc(5) (por ejemplo /proc/self/maps
o /proc/1234/smaps
etc)
Por supuesto, también se consideran los comandos du(1) y df(1) (tal vez ellos invocar cuidadosamente través popen(3) si quieres obtener su resultado). Si por cualquier razón desea escanear recursivamente un árbol de archivos (por ejemplo, para contar su tamaño de uso acumulado como lo hace du
), considere usar las funciones nftw(3). Ver también stat(2) y statfs(2) syscalls.
Recuerde que otros procesos pueden (y muchas veces lo hacen) escribir en el sistema de archivos mientras su programa lo explora o lo consulta.
¿por qué la etiqueta pthreads? –
Mira la fuente de du. –
¿uso de memoria? disk! = memoria – sehe