Làm thế nào một người có thể khôi phục một tập tin đã bị xóa nhưng vẫn được mở bởi một quá trình?
Bài đăng trên blog "Khôi phục tệp từ /proc
" giải thích cách thực hiện việc này trên Linux:
- Sử dụng
lsof
(ví dụlsof -c name
:) để tìm tất cả các tệp hiện đang mở cho quy trình đã cho (tên bắt đầu bằngname
). Từ đầu ra, bạn tìm hiểu quy trìnhpid
và mô tả tệp (fd
) của tệp bạn đang tìm kiếm. - Sử dụng
cp /proc/<pid>/fd/<fd>
/ tmp / restore-file` để tạo một bản sao.
Bước đầu tiên cũng hoạt động một-một trên OS X. Tuy nhiên, bước 2 có vẻ phức tạp hơn. Có một tính năng tương tự trên OS X?
(Tôi đã thử /dev/fd
nhưng trong trường hợp của tôi, nó không chứa PID / FD của tiến trình / tệp của tôi.)