Forse sei interessato a quote disco (che sono supportate da alcuni, ma non tutti, i filesystem). La chiamata di sistema di basso livello è quotactl(2). Forse utilizzare gli strumenti esistenti quota(1) e quotacheck
, edquota
, warnquota
, quotaon
ecc .... potrebbe essere sufficiente.
Se si desidera conoscere la memoria utilizzata da un determinato processo, considerare il syscall getrusage(2). Si può anche leggere pseudo-file sotto /proc/self/
o /proc/1234
per PID 1234. Per saperne di più proc(5) (ad es /proc/self/maps
o /proc/1234/smaps
ecc)
Naturalmente, considerano anche i comandi du(1) e df(1) (forse invocarli attentamente attraverso popen(3) se vuoi ottenere la loro uscita). Se per qualsiasi motivo si desidera eseguire la scansione ricorsiva di un albero di file (ad esempio per contare la dimensione utilizzata cumulativa come du
), considerare l'utilizzo delle funzioni nftw(3). Vedi anche stat(2) e statfs(2) syscalls.
Ricordare che altri processi possono (e spesso fanno) scrivere sul filesystem mentre il programma lo sta esplorando o interrogando.
fonte
2012-02-13 12:09:44
perché il tag pthreads? –
Guarda la fonte di du. –
utilizzo della memoria? disco! = memoria – sehe