Как можно восстановить файл, который был удален, но все еще открыт процессом?
В блоге «Восстановление файлов из /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 моего процесса / файла.)