Plik można usunąć, gdy jest otwarty przez proces. Kiedy tak się dzieje, pozycja katalogu jest usuwana, ale sam plik (i-węzeł i zawartość) pozostają w tyle; plik jest usuwany tylko wtedy, gdy nie ma już żadnych linków i nie jest otwarty przez żaden proces.
NFS jest protokołem bezstanowym: operacje można wykonywać niezależnie od poprzednich operacji. Serwer może się zrestartować, a po powrocie do trybu online klienci będą nadal uzyskiwać dostęp do plików jak poprzednio. Aby to zadziałało, pliki muszą być oznaczone ich nazwami, a nie uchwytami uzyskanymi przez otwarcie pliku (który serwer zapomniałby po ponownym uruchomieniu).
Połącz oba: co się stanie, gdy klient otworzy plik i go usunie? Plik musi nadal mieć nazwę, aby klient, który go otworzył, nadal mógł uzyskać do niego dostęp. Ale po usunięciu pliku oczekuje się, że nie będzie już więcej pliku o tej nazwie. Tak więc serwery NFS zmieniają usunięcie otwartego pliku na zmianę nazwy: nazwa pliku jest zmieniana na .nfs…
( .nfs
po której następuje ciąg liter i cyfr).
Nie możesz usunąć tych plików (jeśli spróbujesz, wszystko się wydarzy, że .nfs…
pojawi się nowy z innym przyrostkiem). W końcu odejdą, gdy klient, który ma otwarty plik, go zamknie. (Jeśli klient zniknie przed zamknięciem pliku, może upłynąć trochę czasu, zanim serwer to zauważy).
ps -Af | grep 'indicator-services-start' | awk '{ print $2 }' | xargs kill
docrontab -e
.