Как можно восстановить файл, который был удален, но все еще открыт процессом?
В блоге «Восстановление файлов из /proc
» объясняется, как это сделать в Linux:
- Используйте
lsof
(например,lsof -c name
), чтобы найти все файлы, открытые в данный момент для данного процесса (имя которого начинается сname
). Из вывода вы узнаете процессpid
и дескриптор файла (fd
) файла, который вы ищете. - Используйте
cp /proc/<pid>/fd/<fd>
/ tmp / restore-file`, чтобы сделать копию.
Первый шаг работает один на один и на OS X. Однако шаг 2 кажется более сложным. Есть ли похожая функция на OS X?
(Я пытался, /dev/fd
но в моем случае он не содержал PID / FD моего процесса / файла.)