Wie kann man eine Datei wiederherstellen, die gelöscht wurde, aber noch von einem Prozess geöffnet ist?
Der Blog-Beitrag "Wiederherstellen von Dateien von /proc
" erklärt, wie dies unter Linux gemacht wird:
- Verwenden Sie
lsof
(z. B.lsof -c name
), um alle Dateien zu finden, die derzeit für den angegebenen Prozess geöffnet sind (deren Name beginnt mitname
). Aus der Ausgabe erfahren Sie den Prozesspid
und den Dateideskriptor (fd
) der gesuchten Datei. - Verwenden Sie
cp /proc/<pid>/fd/<fd>
/ tmp / restore-file`, um eine Kopie zu erstellen.
Der erste Schritt funktioniert auch unter OS X eins zu eins. Schritt 2 scheint jedoch komplizierter zu sein. Gibt es eine ähnliche Funktion unter OS X?
(Ich habe es versucht, /dev/fd
aber in meinem Fall enthielt es nicht die PID / FD meines Prozesses / meiner Datei.)