Su Linux, se un processo in esecuzione ha un handle su un file cancellato e uno conosce il numero del descrittore del file per quell'handle, uno può creare un collegamento fisico dall'handle in procfs (cioè ln "/proc/$pid/fd/$fdnum" ./undeleted
).
Esistono funzionalità simili in MacOS X? Vale a dire, se un programma in esecuzione ha ancora un handle aperto su un file non collegato, c'è un modo per creare una nuova voce di directory che punta a quello stesso inode, annullando quindi in modo efficace il file?
Qui ci sono diverse domande correlate - Come posso cat un file cancellato che è ancora aperto dal suo inode? è il più vicino, ma con alcune distinzioni:
- Idealmente, mi piacerebbe ricollegare direttamente l'inode ancora esistente, piuttosto che fare il cating dei contenuti. (Questo è qualcosa come un file da 80 GB, la creazione di una seconda copia del suo contenuto richiederà un po 'di spazio e tempo temporanei).
- Non avendo familiarità con la semantica della concorrenza dello strumento
icat
suggerito nella risposta, non sono sicuro se questo è sicuro da eseguire con la partizione montata in lettura-scrittura, e quindi se una destinazione sul lo stesso filesystem (che ha spazio per store un file da 80GB) è fattibile.