Eine Datei kann gelöscht werden, während sie von einem Prozess geöffnet wird. In diesem Fall wird der Verzeichniseintrag gelöscht, die Datei selbst (der Inode und der Inhalt) bleiben jedoch zurück. Die Datei wird nur dann wirklich gelöscht, wenn sie keine Links mehr enthält und von keinem Prozess geöffnet wird.
NFS ist ein zustandsloses Protokoll: Vorgänge können unabhängig von vorherigen Vorgängen ausgeführt werden. Es ist sogar möglich, den Server neu zu starten. Sobald der Server wieder online ist, greifen die Clients wie bisher auf die Dateien zu. Damit dies funktioniert, müssen Dateien mit ihrem Namen bezeichnet werden, nicht mit einem Handle, das durch Öffnen der Datei erhalten wird (was der Server beim Neustart vergessen würde).
Fassen Sie die beiden zusammen: Was passiert, wenn eine Datei von einem Client geöffnet und gelöscht wird? Die Datei muss weiterhin einen Namen haben, damit der Client, auf dem sie geöffnet ist, weiterhin darauf zugreifen kann. Wenn jedoch eine Datei gelöscht wird, ist zu erwarten, dass danach keine Datei mit diesem Namen mehr vorhanden ist. NFS-Server verwandeln das Löschen einer geöffneten Datei in ein Umbenennen: Die Datei wird in umbenannt .nfs…
( .nfs
gefolgt von einer Folge von Buchstaben und Ziffern).
Sie können diese Dateien nicht löschen (wenn Sie es versuchen, .nfs…
erscheint lediglich eine neue Datei mit einem anderen Suffix). Sie verschwinden schließlich, wenn der Client, auf dem die Datei geöffnet ist, sie schließt. (Wenn der Client vor dem Schließen der Datei verschwindet, kann es eine Weile dauern, bis der Server dies bemerkt.)
ps -Af | grep 'indicator-services-start' | awk '{ print $2 }' | xargs kill
zucrontab -e
.