किसी फ़ाइल को एक प्रक्रिया द्वारा खोले जाने पर हटाया जा सकता है। जब ऐसा होता है, निर्देशिका प्रविष्टि हटा दी जाती है, लेकिन फ़ाइल स्वयं (इनोड और सामग्री) पीछे रहती है; फ़ाइल केवल तभी डिलीट की जाती है, जब उसमें और लिंक न हों और यह किसी भी प्रक्रिया से नहीं खुली हो।
एनएफएस एक स्टेटलेस प्रोटोकॉल है: संचालन पिछले ऑपरेशनों से स्वतंत्र रूप से किया जा सकता है। सर्वर को रिबूट करना संभव है, और एक बार ऑनलाइन वापस आने के बाद, क्लाइंट पहले की तरह फाइलों तक पहुंचना जारी रखेंगे। इसके लिए काम करने के लिए, फ़ाइलों को उनके नाम से निर्दिष्ट करना पड़ता है, न कि फ़ाइल को खोलने के द्वारा प्राप्त एक हैंडल द्वारा (जो सर्वर रिबूट होने पर भूल जाएगा)।
दोनों को एक साथ रखें: क्या होता है जब कोई फ़ाइल क्लाइंट द्वारा खोली जाती है, और हटाई जाती है? फ़ाइल को नाम रखने की आवश्यकता है, ताकि जिस क्लाइंट के पास यह खुला है वह अभी भी इसे एक्सेस कर सके। लेकिन जब कोई फ़ाइल हटा दी जाती है, तो यह उम्मीद की जाती है कि उस नाम से कोई और फ़ाइल बाद में मौजूद न हो। इसलिए एनएफएस सर्वर एक खुली फ़ाइल को हटाने का नाम बदल देते हैं: फ़ाइल का नाम बदल दिया जाता है.nfs… ( .nfsइसके बाद अक्षरों और अंकों का एक स्ट्रिंग)।
आप इन फ़ाइलों को हटा नहीं सकते हैं (यदि आप कोशिश करते हैं, तो यह सब होता है कि एक नया .nfs…एक अलग प्रत्यय के साथ प्रकट होता है)। वे अंततः चले जाएंगे जब फ़ाइल को खोलने वाला क्लाइंट इसे बंद कर देता है। (यदि क्लाइंट फ़ाइल को बंद करने से पहले गायब हो जाता है, तो सर्वर नोटिस तक कुछ समय लग सकता है।)
ps -Af | grep 'indicator-services-start' | awk '{ print $2 }' | xargs killcrontab -e