[FSUG PD] Modi diversi di troncare un file
Nicola Ruggero
nicola a nxnt.org
Sab 23 Lug 2011 23:36:14 CEST
Ciao,
scusate il cross-post su pluto-help...
è un po' di tempo che volevo sottoporre questa domanda a voi guru del
kernel Linux:
Ho trovato 2 sistemi per troncare i file *aperti* (es log applicativi):
# > nomefile
oppure
# cp /dev/null nomefile
nel primo caso il contenuto del file si tronca (con "vi" il file è
vuoto), ma su filesystem continua ad occupare spazio ed inode.
nel secondo caso invece il file si tronca (con "vi" il file è vuoto) e
su filesystem occupa 0 byte
in entrambi i casi l'applicativo che mantiene aperto e scrive il file
log non si arrabbia.
Come spiegare la differenza di comportamento?
La mia ipotesi è che nel secondo caso cp usi delle chiamate di sistema
al kernel per agire direttamente sugli inode del filesystem.
Nel primo caso invece, trattandosi di redirect della shell, il
procedimento implichi l'uso di un file handle con l'effetto che vi ho
descritto.
qualcuno sa spiegarmi realmente come funziona?
grazie, ciao!
Nicola
Maggiori informazioni sulla lista
fsug-pd