Jak przywrócić plik, który został usunięty, ale nadal jest otwarty przez proces?
W blogu „Przywracanie plików z /proc” wyjaśniono, jak to zrobić w systemie Linux:
- Użyj
lsof(np.lsof -c name), Aby znaleźć wszystkie pliki aktualnie otwarte dla danego procesu (którego nazwa zaczyna się odname). Z danych wyjściowych poznasz procespidi deskryptor pliku (fd) pliku, którego szukasz. - Użyj
cp /proc/<pid>/fd/<fd>/ tmp / restored-file`, aby wykonać kopię.
Pierwszy krok działa również jeden na jeden w OS X. Jednak krok 2 wydaje się bardziej skomplikowany. Czy w OS X jest podobna funkcja?
(Próbowałem, /dev/fdale w moim przypadku nie zawierał PID / FD mojego procesu / pliku.)