Một tập tin có thể bị xóa trong khi nó được mở bởi một quá trình. Khi điều này xảy ra, mục nhập thư mục sẽ bị xóa, nhưng chính tệp (inode và nội dung) vẫn ở phía sau; tập tin chỉ thực sự bị xóa khi nó không còn liên kết nữa và nó không được mở bởi bất kỳ quá trình nào.
NFS là một giao thức phi trạng thái: các hoạt động có thể được thực hiện độc lập với các hoạt động trước đó. Máy chủ thậm chí có thể khởi động lại và khi nó trở lại trực tuyến, các máy khách sẽ tiếp tục truy cập các tệp như trước đây. Để làm việc này, các tệp phải được chỉ định bằng tên của chúng, không phải bằng cách xử lý thu được bằng cách mở tệp (mà máy chủ sẽ quên khi khởi động lại).
Đặt hai cái lại với nhau: điều gì xảy ra khi một tệp được mở bởi một khách hàng và bị xóa? Các tập tin cần phải có tên, để khách hàng mở nó vẫn có thể truy cập nó. Nhưng khi một tệp bị xóa, dự kiến sẽ không còn tệp nào có tên đó tồn tại sau đó. Vì vậy, các máy chủ NFS biến việc xóa một tệp đang mở thành đổi tên: tệp được đổi tên thành .nfs…
( .nfs
theo sau là một chuỗi các chữ cái và chữ số).
Bạn không thể xóa các tệp này (nếu bạn thử, tất cả những gì xảy ra là một cái mới .nfs…
xuất hiện với một hậu tố khác). Cuối cùng họ sẽ biến mất khi máy khách mở tệp sẽ đóng nó. (Nếu máy khách biến mất trước khi đóng tệp, có thể mất một lúc cho đến khi máy chủ thông báo.)
ps -Af | grep 'indicator-services-start' | awk '{ print $2 }' | xargs kill
vàocrontab -e
.