लिनक्स फाइलों को लॉक करता है। यदि आप उस फ़ाइल को अधिलेखित करने का प्रयास करते हैं जो आपको निष्पादित कर रही है तो आपको "ETXTBUSY" (पाठ फ़ाइल व्यस्त) मिलेगा। हालाँकि आप फ़ाइल को हटा सकते हैं, और कर्नेल फ़ाइल को हटा देगा जब इसका अंतिम संदर्भ हटा दिया जाएगा। (यदि मशीन को साफ-साफ बंद नहीं किया गया था, तो ये फाइलें "डीलेटेड इनोड में शून्य डी-टाइम" संदेश का कारण होती हैं, जब फाइल सिस्टम की जांच की जाती है, तो वे पूरी तरह से हटाए नहीं गए थे, क्योंकि एक रनिंग प्रक्रिया का उनके लिए संदर्भ था, आदि। और अब वे हैं।)
इसके कुछ प्रमुख फायदे हैं, आप निष्पादन योग्य को हटाकर, उसे प्रतिस्थापित करके, फिर प्रक्रिया को पुनः आरंभ करके एक प्रक्रिया को चला सकते हैं। यहां तक कि init को इस तरह अपग्रेड किया जा सकता है, निष्पादन योग्य को बदल सकता है, और इसे एक संकेत भेज सकता है, और यह रिबूट की आवश्यकता के बिना, खुद को फिर से निष्पादित () करेगा। (यह आम तौर पर अपने पैकेज प्रबंधन प्रणाली द्वारा स्वचालित रूप से किया जाता है क्योंकि यह अपग्रेड होता है)
विंडोज़ के तहत, ऐसी फ़ाइल की जगह जो उपयोग में है, एक बड़ी परेशानी प्रतीत होती है, आमतौर पर रिबूट की आवश्यकता होती है ताकि यह सुनिश्चित हो सके कि कोई प्रक्रिया नहीं चल रही है।
कुछ समस्याएं हो सकती हैं, जैसे कि यदि आपके पास एक बहुत बड़ी लॉगफ़ाइल है, और आप इसे हटा देते हैं, लेकिन उस प्रक्रिया को बताना भूल जाते हैं जो फ़ाइल को फिर से खोलने के लिए उस फ़ाइल में लॉग इन कर रही थी, तो यह संदर्भ पकड़ लेगी, और आपको आश्चर्य होगा आपकी डिस्क को अचानक बहुत अधिक खाली स्थान क्यों नहीं मिला।
आप अस्थायी फ़ाइलों के लिए लिनक्स के तहत भी इस ट्रिक का उपयोग कर सकते हैं। फ़ाइल खोलें, इसे हटाएं, फिर फ़ाइल का उपयोग करना जारी रखें। जब आपकी प्रक्रिया समाप्त हो जाती है (बिना किसी कारण के - यहां तक कि बिजली की विफलता), तो फ़ाइल हटा दी जाएगी।
Lsof और fuser (या सिर्फ / proc // fd में इधर उधर घूमने) जैसे प्रोग्राम आपको दिखा सकते हैं कि किन प्रक्रियाओं में फाइलें खुली हैं जिनका अब कोई नाम नहीं है।