Come si può ripristinare un file che è stato eliminato ma è ancora aperto da un processo?
Il post sul blog "Ripristino di file da /proc
" spiega come eseguire questa operazione su Linux:
- Utilizzare
lsof
(ad es.lsof -c name
) Per trovare tutti i file attualmente aperti per il processo dato (il cui nome inizia conname
). Dall'output vengono appresi il processopid
e il descrittore di file (fd
) del file che si sta cercando. - Usa
cp /proc/<pid>/fd/<fd>
/ tmp / ripristinato-file` per fare una copia.
Il primo passo funziona anche su OS X. Tuttavia, il passaggio 2 sembra più complicato. Esiste una funzione simile su OS X?
(Ho provato /dev/fd
ma nel mio caso, non conteneva il PID / FD del mio processo / file.)