कुछ भी खुला न होने पर भी Mac 'Disk in Use' क्यों कहता है

आपने हर ऐप बंद कर दिया। कोई Finder विंडो खुली नहीं है। फिर भी macOS ज़िद करता है कि कुछ आपकी ड्राइव इस्तेमाल कर रहा है। यहाँ बताया गया है कि असल में हो क्या रहा है।

आपने सब कुछ बंद कर दिया। Safari, गया। Finder विंडो, बंद। वह डॉक्यूमेंट जिसे आप एडिट कर रहे थे, सेव करके quit कर दिया। आप अपनी external ड्राइव पर eject क्लिक करते हैं और macOS आपको बताता है कि कुछ अब भी उसे इस्तेमाल कर रहा है।

आप दोबारा जाँचते हैं। कुछ भी दिखने वाला नहीं चल रहा। कहीं कोई प्रोग्रेस बार नहीं। ड्राइव बस वहीं पड़ी है, आपकी समझ से तो कुछ नहीं कर रही। लेकिन कुछ, आपकी नज़रों से ओझल, आपके disk में अपने पंजे गड़ाए हुए है।

यह macOS के सबसे झुंझला देने वाले अनुभवों में से एक है क्योंकि समस्या नामुमकिन सी लगती है। आपने सब कुछ ठीक किया। आपने अपना काम बंद कर दिया। और सिस्टम फिर भी आपको ऐसे कारणों से रोक रहा है जिन्हें वह बताएगा नहीं।

अदृश्य प्रोसेस

आपके Mac पर जो कुछ चलता है, उसमें से ज़्यादातर अदृश्य होता है। जिन ऐप्स के साथ आप काम करते हैं, उनके पीछे दर्जनों बैकग्राउंड प्रोसेस ऐसे काम संभालते हैं जिनके बारे में आप कभी सोचते भी नहीं: सर्च के लिए फ़ाइलें इंडेक्स करना, थंबनेल बनाना, डेटा sync करना, बदलावों पर नज़र रखना।

इन प्रोसेस की कोई विंडो नहीं होती। ये आपके Dock में नहीं दिखते। इनमें से कुछ तो Activity Monitor में भी नहीं दिखते जब तक आपको पता न हो कि कहाँ देखना है। लेकिन ये सभी आपकी external ड्राइव तक पहुँच सकते हैं, और इनमें से कोई एक भी ejection रोक सकता है।

जब macOS कहता है कि “one or more programs may be using” आपका disk, तो वह आमतौर पर झूठ नहीं बोल रहा होता। कुछ तो उसे इस्तेमाल कर ही रहा होता है। बेकार बात यह है कि macOS बताने से मना कर देता है कि क्या।

जाने-पहचाने गुनहगार

Spotlight सबसे आम अदृश्य ब्लॉकर है। जिस पल आप कोई external ड्राइव कनेक्ट करते हैं, Spotlight उसे इंडेक्स करना शुरू कर देता है। indexing प्रोसेस (mds, mds_stores, mdworker) बैकग्राउंड में चलती हैं, बिना किसी दिखने वाले संकेत के कि वे काम कर रही हैं। ड्राइव पर कितना कंटेंट है, इसके हिसाब से ये मिनटों या घंटों तक फ़ाइलें खुली रख सकती हैं।

QuickLook ज़्यादा चालाक है। जब आप किसी फ़ोल्डर को ब्राउज़ करते हैं, तो macOS थंबनेल और प्रीव्यू बनाता है। QuickLook प्रोसेस (QuickLookUIService, quicklookd) कभी-कभी Finder विंडो बंद करने के बाद भी file handles पकड़े रहते हैं। आपने वह फ़ोल्डर दस मिनट पहले देखा था, पर QuickLook अब भी उसके बारे में सोच रहा है।

Time Machine, अगर चालू है, तो बैकअप ड्राइव पर लगातार नज़र रखता है। जब कोई बैकअप नहीं चल रहा होता, तब भी backupd प्रोसेस Time Machine वॉल्यूम से कनेक्शन बनाए रखता है। यह बदलावों पर नज़र रखे हुए है, अगला बैकअप शुरू करने को तैयार।

iCloud और दूसरी sync सर्विसेज़ external ड्राइव तक पहुँच सकती हैं अगर आपने synced फ़ोल्डर वहाँ रखे हों। sync डेमन शायद फ़ाइल का स्टेटस जाँच रहा हो या बदलाव अपलोड करने का इंतज़ार कर रहा हो।

Finder खुद ऐसे बैकग्राउंड ऑपरेशन चलाता है जो आपको दिखते नहीं। फ़ाइल मेटाडेटा अपडेट, ट्रैश मैनेजमेंट, और साइडबार की गणनाएँ — सब अदृश्य रूप से होती हैं। Finder विंडो बंद करने से ज़रूरी नहीं कि किसी ड्राइव के साथ Finder का रिश्ता ख़त्म हो जाए।

गुनहगार ढूँढना

यह देखने का एकमात्र भरोसेमंद तरीका कि आपकी ड्राइव को क्या ब्लॉक कर रहा है, Terminal है। यह कमांड चलाएँ, ड्राइव के नाम को अपने नाम से बदलकर:

lsof /Volumes/YourDriveName

यह हर उस प्रोसेस की लिस्ट देता है जिसकी ड्राइव पर फ़ाइलें खुली हैं। आउटपुट तकनीकी है पर पढ़ने लायक है। COMMAND कॉलम प्रोसेस के नाम दिखाता है, और NAME कॉलम दिखाता है कि उन्होंने कौन सी फ़ाइलें खोल रखी हैं।

आम चीज़ें जो आपको दिखेंगी:

  • mds या mdworker: Spotlight indexing
  • QuickLookUIService: थंबनेल जेनरेशन
  • Finder: कोई Finder ऑपरेशन या साइडबार रेफ़रेंस
  • backupd: Time Machine की निगरानी
  • bird या cloudd: iCloud sync

अगर लिस्ट लंबी है, तो आपको अपने अदृश्य यूज़र मिल गए। अगर वह ख़ाली है, तो शायद समस्या अपने-आप हल हो गई है, और आप दोबारा eject करने की कोशिश कर सकते हैं।

मैनुअल चरण छोड़ें: Ejecta आपको ठीक-ठीक दिखाता है कि कौन सा process आपके drive को रोक रहा है — और सीधे आपके menu bar से एक क्लिक में उसे बंद कर देता है। और जानें →

अदृश्य प्रोसेस को रोकना

एक बार जब आपको पता चल जाए कि ड्राइव को क्या ब्लॉक कर रहा है, तो आपके पास विकल्प हैं।

Spotlight के लिए, ड्राइव पर indexing बंद करें:

sudo mdutil -i off /Volumes/YourDriveName

यह Spotlight को ड्राइव को छोड़ देने को कहता है। अगर आप बाद में ड्राइव का कंटेंट सर्च करना चाहें, तो indexing दोबारा चालू कर सकते हैं।

QuickLook के लिए, उसका cache रीसेट करें:

qlmanage -r cache

यह QuickLook ने जो कुछ भी पकड़ रखा था उसे साफ़ कर देता है और आमतौर पर ड्राइव को मुक्त कर देता है।

Finder के लिए, उसे रीस्टार्ट करें — Option दबाकर, अपने Dock में Finder आइकन पर राइट-क्लिक करके, और Relaunch चुनकर। यह Finder के सभी कनेक्शन रीसेट कर देता है।

दूसरे प्रोसेस के लिए, आप उन्हें Activity Monitor से quit कर सकते हैं। प्रोसेस का नाम सर्च करें, उसे सिलेक्ट करें, और X बटन पर क्लिक करें। ज़्यादातर सिस्टम प्रोसेस अपने-आप दोबारा शुरू हो जाती हैं, पर ड्राइव रिलीज़ हो जानी चाहिए।

समस्या को रोकना

अगर आपको किसी external ड्राइव को Spotlight से सर्च करने की ज़रूरत नहीं है, तो उसे System Settings में Siri & Spotlight के नीचे Privacy लिस्ट में जोड़ दें। इस लिस्ट में मौजूद ड्राइव कभी इंडेक्स नहीं होतीं, जिससे सबसे आम ejection ब्लॉकर ख़त्म हो जाता है।

अपनी external ड्राइव की रूट में .metadata_never_index नाम की एक फ़ाइल बनाएँ। Spotlight इस फ़ाइल को जाँचता है और जिस भी ड्राइव में यह होती है, उसकी indexing छोड़ देता है। यह उन ड्राइव के लिए उपयोगी है जिन्हें आप कई Macs के बीच इधर-उधर ले जाते हैं।

इस बात का ध्यान रखें कि आपकी external ड्राइव पर क्या रखा है। अगर आप वहाँ iCloud फ़ोल्डर, sync फ़ोल्डर, या Time Machine बैकअप रखते हैं, तो बैकग्राउंड प्रोसेस के लगातार उन तक पहुँचने की उम्मीद रखें।

बेहतर तरीका

हर बार ड्राइव अनप्लग करने के लिए Terminal के आउटपुट में खोजबीन करना जल्दी ही उबाऊ हो जाता है। जानकारी तो है, पर तरीका भद्दा है।

Ejecta आपको वही जानकारी ज़्यादा साफ़-सुथरे रूप में दिखाता है। किसी ब्लॉक हुई ड्राइव पर क्लिक करें, देखें कि उसे क्या ब्लॉक कर रहा है, और एक और क्लिक से उस प्रोसेस को बंद करें। न कोई कमांड याद रखनी, न कोई आउटपुट समझना।

असल समस्या यह है कि macOS दर्जनों अदृश्य प्रोसेस चलाता है जो आपकी ड्राइव को पकड़ सकती हैं। इनके मौजूद होने की जानकारी होना पहला कदम है। Terminal पर गए बिना ठीक-ठीक यह देख पाना कि कौन सा प्रोसेस समस्या है, कहीं बेहतर अनुभव है।

अगर आप हर बार Terminal इस्तेमाल नहीं करना चाहते, तो Ejecta आपको ठीक-ठीक दिखाता है कि कौन सा process आपके drive को रोक रहा है — और सीधे आपके menu bar से एक क्लिक में उसे बंद कर देता है।

अभी खरीदें — $9.99