20

Как можно восстановить файл, который был удален, но все еще открыт процессом?

В блоге «Восстановление файлов из /proc » объясняется, как это сделать в Linux:

  1. Используйте lsof (например, lsof -c name), чтобы найти все файлы, открытые в данный момент для данного процесса (имя которого начинается с name). Из вывода вы узнаете pid процесса и дескриптор файла (fd) искомого файла.
  2. Используйте cp /proc/<pid>/fd/<fd> /tmp /restore-file`, чтобы сделать копию.

Первый шаг работает один на один на OS X, тоже. Однако шаг 2 кажется более сложным. Есть ли похожая функция на OS X?

(Я пробовал /dev/fd но в моем случае он не содержал PID/FD моего процесса / файла.)

1 ответ1

3

Я не мог найти эквивалент OSX, но отвечаю в любом случае, так как это может быть срочно. Если файл действительно важен для восстановления, и вам необходимо выключить систему, перемонтировать файловую систему, в которой файл находился только для чтения, и создать образ раздела с помощью инструмента, такого как CloneZilla, - это сохранит вашу способность использовать различные инструменты восстановления в случай, когда пространство, которое использовал файл, перераспределяется в другой файл.

В зависимости от того, какой тип файла вам нужно восстановить, PhotoRec может найти его. Кроме того, бесплатная версия Disk Drill может быть полезна, и в зависимости от того, какая файловая система используется, есть небольшой шанс, что TestDisk может помочь (не полностью поддерживает файловые системы Mac, даже если он работает на OSX).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .