I want to calculate the temporary amount of disk space used by an application in GB
Em geral, você não pode fazer isso. No entanto, você pode usar du (1) , df(1) (talvez usando sistema (3) ou popen (3) de dentro da sua aplicação).
BTW, você não define qual é a quantidade temporária de espaço em disco . É relacionado a tmpfile (3) ou mkstemp(3) ? Ou aberto (2) com O_TMPFILE
?
(na verdade, definir precisamente qual é a quantidade temporária de espaço em disco não é fácil ; depois de fazer isso, você pode obter uma resposta melhor)
Talvez você queira avaliar o tamanho dos arquivos temporários em algum processo executando seu aplicativo (ou seja, os arquivos que possuem um descritor de arquivo aberto, mas cujo nome foi unlink
-ed de seu diretório). Então leia muito mais sobre proc (5) . De dentro do seu aplicativo, considere usar /proc/self/fd/
(você pode opendir ( 3) , readdir (3) , closedir
it etc) . De fora da sua aplicação, se o processo for 1234, considere usar /proc/1234/fd/