[PLUTO-help] Modi diversi di troncare un file

Nicola Ruggero nicola a nxnt.org
Ven 22 Lug 2011 15:20:13 CEST


Ciao,
 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



More information about the pluto-help mailing list