Як можна відновити файл, який був видалений, але процес все ще відкритий?
Повідомлення в блозі "Відновлення файлів з /proc" пояснює, як це зробити в Linux:
- Використовуйте
lsof(наприклад,lsof -c name), щоб знайти всі файли, відкриті в даний час для даного процесу (ім'я якого починається зname). З виводу ви дізнаєтесь процесpidі дескриптор файлу (fd) потрібного файлу. - Використовуйте
cp /proc/<pid>/fd/<fd>/ tmp / resta-file`, щоб зробити копію.
Перший крок також працює один на один і в OS X. Однак крок 2 видається складнішим. Чи є схожа функція в OS X?
(Я спробував, /dev/fdале в моєму випадку він не містив PID / FD мого процесу / файлу.)