Spotlight डिस्क की Ejection को क्यों रोकता है

external ड्राइव eject न होने की सबसे आम वजहों में से एक है Spotlight indexing। जानिए इससे कैसे निपटें।

(Updated )

आप अपनी external ड्राइव eject करने की कोशिश करते हैं और macOS मना कर देता है। आप Activity Monitor देखते हैं और पाते हैं कि mds या mds_stores नाम की प्रोसेस आपकी ड्राइव को एक्सेस कर रही हैं। बधाई हो, आपका सामना Spotlight indexing से हो गया है।

Mac पर external ड्राइव के eject न होने की शायद यह सबसे आम वजह है। Spotlight हर चीज़ को index करना चाहता है ताकि आप बाद में उसे खोज सकें, और उसे इससे कोई मतलब नहीं कि आपको दो मिनट में किसी मीटिंग के लिए निकलना है।

Spotlight असल में क्या कर रहा है

Spotlight का indexing सिस्टम कई बैकग्राउंड प्रोसेस के ज़रिए चलता है। मुख्य प्रोसेस है mds (metadata server), जो पूरे काम का तालमेल बिठाती है। फिर mds_stores है, जो index किए गए metadata की असल स्टोरेज संभालती है। आपको mdworker या mdworker_shared भी दिख सकती हैं, जो आपकी फ़ाइलों को पढ़ने और वर्गीकृत करने का भारी काम करती हैं।

जब आप कोई external ड्राइव जोड़ते हैं, तो Spotlight उसे खंगालने लायक एक नए इलाक़े की तरह देखता है। यह हर फ़ाइल को स्कैन करना, metadata निकालना और एक खोजने योग्य index बनाना शुरू कर देता है। यह अपने आप होता है, जब तक कि आपने Spotlight से साफ़ तौर पर न कह दिया हो कि उस ड्राइव को छोड़ दे।

समस्या यह है कि काम करते समय Spotlight file handles खुले रखता है। जब तक ये handles मौजूद रहते हैं, macOS ड्राइव को “इस्तेमाल में” मानता है और आपको उसे eject नहीं करने देता।

कैसे जाँचें कि दोषी Spotlight ही है

Activity Monitor खोलें (हास्यास्पद रूप से, इसे Spotlight में ही खोजें) और इन प्रोसेस नामों को देखें: mds, mds_stores, mdworker या mdworker_shared। अगर इनमें से किसी की प्रोसेस जानकारी में आपकी external ड्राइव का नाम दिखता है, तो Spotlight ही आपका रोकने वाला है।

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

lsof /Volumes/YourDriveName

अगर आपको आउटपुट में mds से जुड़ी प्रोसेस दिखती हैं, तो Spotlight आपकी ड्राइव को पकड़े हुए है।

झटपट हल: indexing अस्थायी रूप से बंद करें

सबसे तेज़ समाधान है उस ख़ास volume के लिए Spotlight indexing बंद कर देना:

sudo mdutil -i off /Volumes/YourDriveName

प्रतीक्षा करें, ऐप्स बंद करें और सामान्य तरीके से इजेक्ट करें।

जब आप बाद में ड्राइव दोबारा जोड़ें और indexing वापस चाहें:

sudo mdutil -i on /Volumes/YourDriveName

स्थायी हल: ड्राइव को पूरी तरह बाहर रखें

अगर आप कभी नहीं चाहते कि Spotlight किसी ख़ास external ड्राइव को index करे, तो आप उसे privacy सूची में जोड़ सकते हैं।

System Settings खोलें, Siri and Spotlight में जाएँ (या पुराने macOS वर्शन पर सिर्फ़ Spotlight), फिर सबसे नीचे “Spotlight Privacy” पर क्लिक करें। अपनी external ड्राइव को इस सूची में खींचें या जोड़ने के लिए प्लस बटन पर क्लिक करें।

Spotlight के प्रक्रिया नाम केवल पढ़ने का प्रमाण नहीं हैं। प्रतीक्षा करें, ऐप्स बंद करें और सामान्य तरीके से इजेक्ट करें।

एक छुपी हुई फ़ाइल का इस्तेमाल करने वाली एक तरकीब भी है। अपनी external ड्राइव की रूट में .metadata_never_index नाम की एक ख़ाली फ़ाइल बनाएँ:

touch /Volumes/YourDriveName/.metadata_never_index

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

जब Spotlight छोड़ता ही नहीं

Spotlight के प्रक्रिया नाम केवल पढ़ने का प्रमाण नहीं हैं। ड्राइव मुक्त करने के लिए mds या mds_stores को फ़ोर्स क्विट न करें। प्रतीक्षा करें, ऐप्स बंद करें और सामान्य तरीके से इजेक्ट करें। Ejecta इन प्रक्रियाओं को पहचानता है, लेकिन सिस्टम प्रक्रियाओं के लिए सामान्य क्विट नहीं देता। ड्राइव फिर भी अटकी हो तो सब कुछ सहेजें और Mac को पूरी तरह बंद करने के बाद ही ड्राइव निकालें।

प्रक्रिया का नाम या खुली फ़ाइलों की सूची यह साबित नहीं करती कि लिखना बंद है।

काम सहेजें, कॉपी और बैकअप पूरा करें और ऐप्स को सामान्य तरीके से बंद करके फिर इजेक्ट करें।

ऐसा बार-बार क्यों होता है

हर बार जब आप कोई external ड्राइव जोड़ते हैं, तो Spotlight उसे नए सिरे से index करना शुरू कर देता है, जब तक कि आपने उसे बाहर न रखा हो। जिन ड्राइव का आप पहले इस्तेमाल कर चुके हैं, वे भी फिर से index होंगी अगर उनका index पुराना या ख़राब हो गया हो।

macOS अपडेट भी Spotlight की privacy सेटिंग्स रीसेट कर सकते हैं। कुछ यूज़र्स ने बताया है कि नए macOS वर्शन में अपग्रेड करने के बाद, जिन ड्राइव को उन्होंने पहले बाहर रखा था वे अचानक फिर से index होने लगीं। बड़े अपडेट के बाद अपनी Spotlight Privacy सूची जाँच लेना ठीक रहेगा।

एक आसान तरीक़ा

Ejecta: Ejecta बिना समय-सीमित ट्रायल के मुफ़्त ड्राइव निदान देता है। भुगतान वाला लाइसेंस समर्थित ऐप्स के क्विट व इजेक्ट, सभी ड्राइव इजेक्ट करने और Time Machine नियंत्रण को खोलता है। सिस्टम प्रक्रियाओं में प्रतीक्षा, अनुमति या Mac बंद करना ज़रूरी हो सकता है। पहले काम सहेजें और ट्रांसफ़र पूरे करें।

मूल समस्या (Spotlight का external ड्राइव को ज़ोर-शोर से index करना) जल्दी कहीं नहीं जाने वाली। पर हर बार जब आपको अपनी ड्राइव लेकर निकलना हो, तब इससे निपटना कोई शोध-परियोजना बनने की ज़रूरत नहीं।

Ejecta बिना समय-सीमित ट्रायल के मुफ़्त ड्राइव निदान देता है। भुगतान वाला लाइसेंस समर्थित ऐप्स के क्विट व इजेक्ट, सभी ड्राइव इजेक्ट करने और Time Machine नियंत्रण को खोलता है। सिस्टम प्रक्रियाओं में प्रतीक्षा, अनुमति या Mac बंद करना ज़रूरी हो सकता है। पहले काम सहेजें और ट्रांसफ़र पूरे करें।

अभी खरीदें - $29 $9.99