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 procespid
i 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/fd
ale w moim przypadku nie zawierał PID / FD mojego procesu / pliku.)