macOS 'Disk In Use' Error: समस्या-समाधान गाइड
Mac पर 'disk in use' error ठीक करने की पूरी गाइड। सभी कारण और समाधान एक ही जगह।
आप अपने external ड्राइव पर eject क्लिक करते हैं और macOS मना कर देता है। “The disk couldn’t be ejected because one or more programs may be using it.” आपने तो वह सब बंद कर दिया जिस पर आप काम कर रहे थे। साफ़-साफ़ कुछ चलता हुआ नहीं दिखता। आख़िर आपका disk असल में इस्तेमाल कौन कर रहा है?
यह गाइड “disk in use” error के हर आम कारण को और हर एक को ठीक करने का तरीक़ा बताती है। चलिए पहले झटपट हो जाने वाले उपायों से शुरू करते हैं और फिर थोड़े ज़्यादा मेहनत वाले समाधानों की ओर बढ़ते हैं।
पहले ये झटपट उपाय आज़माएँ
समस्या की गहराई में जाने से पहले, ये आज़माएँ:
ड्राइव दिखाने वाली सभी Finder windows बंद करें। यह सबसे आम वजह है। अगर कोई भी Finder window ड्राइव के किसी folder पर खुली है, या ड्राइव sidebar में सिर्फ़ चुना हुआ भी है, तो Finder उस पर lock पकड़े रखता है। उन windows को बंद कर दें या उन्हें कहीं और ले जाएँ।
कुछ सेकंड रुकें और दोबारा कोशिश करें। कभी-कभी कोई प्रोसेस बस ख़त्म होने वाला होता है। हो सकता है Spotlight indexing समेट रहा हो, या कोई application कोई cache file सेव कर रही हो। 30 सेकंड दीजिए और फिर से eject करके देखिए।
desktop के बजाय sidebar से eject करके देखें। Finder की sidebar में ड्राइव के नाम के बगल वाले eject आइकन पर क्लिक करें। कुछ यूज़र्स बताते हैं कि जब desktop आइकन पर राइट-क्लिक करने से काम नहीं बनता, तब यह तरीक़ा चल जाता है।
अगर ये काम न करें, तो यह पता लगाने का वक़्त है कि असल में ड्राइव को खुला कौन रोके हुए है।
blocking प्रोसेस ढूँढना
macOS आपको नहीं बताएगा कि कौन सा program ड्राइव इस्तेमाल कर रहा है, लेकिन Terminal बता देगा। Terminal खोलें और चलाएँ:
sudo lsof /Volumes/YourDriveName
“YourDriveName” की जगह अपने ड्राइव का असली नाम डालें। अगर नाम में spaces हैं, तो path को quotes में लपेटें: sudo lsof "/Volumes/My Drive"
आपको अपना password डालना होगा। output उस ड्राइव पर files खोले हुए हर प्रोसेस को दिखाता है। प्रोसेस के नाम देखने के लिए COMMAND column पर नज़र डालें।
जो आम प्रोसेस आपको दिखेंगे:
mds,mds_stores,mdworker: Spotlight indexingFinder: कोई Finder window या file operationQuickLookUIService: thumbnail या preview बननाbackupd: चल रहा Time Machine backupfsevents: filesystem में बदलाव की निगरानीbashयाzsh: कोई Terminal shell जिसकी current directory ड्राइव पर है
Spotlight indexing
ejection की समस्याओं की सबसे बार-बार आने वाली वजह Spotlight है। जब आप कोई external ड्राइव जोड़ते हैं, macOS उसे तुरंत index करना शुरू कर देता है ताकि आप उसका कंटेंट खोज सकें। इसमें शामिल प्रोसेस (mds, mds_stores, mdworker) काम करते वक़्त files खुली रखते हैं।
indexing पूरी होने का इंतज़ार करें। किसी नए या बदले हुए ड्राइव पर, उस पर मौजूद files की संख्या के हिसाब से indexing कुछ मिनटों से लेकर कई घंटों तक ले सकती है। अगर indexing चल रही है, तो Spotlight के search results में आपको एक progress bar दिखेगा।
इस volume के लिए indexing बंद करें। अगर आपको Spotlight से ड्राइव खोजने की ज़रूरत नहीं है, तो आप इसे बाहर रख सकते हैं:
sudo mdutil -i off /Volumes/YourDriveName
यह Spotlight को ड्राइव नज़रअंदाज़ करने को कहता है। command चलाने के बाद, फिर से eject करके देखें।
Spotlight Privacy सूची में जोड़ें। स्थायी समाधान के लिए, System Settings खोलें, Siri and Spotlight में जाएँ, Spotlight Privacy तक स्क्रॉल करें, और अपना ड्राइव जोड़ें। जब तक आप इसे इस सूची से नहीं हटाते, यह दोबारा index नहीं होगा।
Spotlight प्रोसेस बंद करें। आख़िरी उपाय के तौर पर, आप Activity Monitor में mds प्रोसेस को force quit कर सकते हैं। “mds” खोजें, अपने ड्राइव को access करने वाले हर एक को चुनें, और force quit करने के लिए X बटन पर क्लिक करें। Spotlight अपने आप दोबारा शुरू हो जाएगा, लेकिन आपका ड्राइव खाली हो जाना चाहिए।
Finder और file ब्राउज़ करना
Finder ड्राइव को ऐसे तरीक़ों से पकड़े रह सकता है जो साफ़ नज़र नहीं आते।
सभी Finder windows बंद करें। भले ही कोई window दिखने में आपका ड्राइव न दिखा रही हो, हो सकता है Finder ने उसे किसी background tab में या किसी window की डिफ़ॉल्ट जगह के रूप में खोल रखा हो।
Finder को रीस्टार्ट करें। Option दबाए रखें और अपने Dock में Finder आइकन पर राइट-क्लिक करें, फिर “Relaunch” चुनें। इससे सभी Finder windows बंद हो जाती हैं और Finder के पकड़े हुए कोई भी locks छूट जाते हैं।
copy operations की जाँच करें। अगर आपने हाल ही में ड्राइव से या ड्राइव पर files copy की हैं, तो हो सकता है Finder अब भी background में सफ़ाई कर रहा हो। Finder खोलें और देखें कि कहीं कोई चालू progress bar तो नहीं है।
QuickLook और previews
जैसे-जैसे आप files ब्राउज़ करते हैं, macOS उनके thumbnails और previews बनाता है। QuickLook सिस्टम (QuickLookUIService, quicklookd) folder से हट जाने के बाद भी file handles खुली रख सकता है।
QuickLook रीसेट करें। QuickLook का cache साफ़ करके उसे दोबारा शुरू करने के लिए यह command चलाएँ:
qlmanage -r cache
QuickLook प्रोसेस बंद करें। Activity Monitor में, “QuickLook” खोजें और अपने ड्राइव को access करने वाले किसी भी प्रोसेस को force quit कर दें।
Terminal और shell sessions
अगर आपने Terminal का इस्तेमाल करके अपने external ड्राइव तक नेविगेट किया है, तो वह shell session ड्राइव को इस्तेमाल में रखे रहता है। प्रोसेस का नाम bash, zsh, या जो भी shell आप चला रहे हैं, उस रूप में दिखेगा।
अपनी current directory जाँचें। हर Terminal window में, यह देखने के लिए कि आप कहाँ हैं, pwd चलाएँ। अगर यह आपके external ड्राइव का कोई path दिखाता है, तो अपने home folder पर वापस जाने के लिए cd ~ चलाएँ।
Terminal windows बंद करें। अगर आपके पास कई Terminal windows या tabs हैं, तो उन्हें बंद करें या हर एक को ड्राइव से हटाकर कहीं और ले जाएँ।
हाल की files वाली applications
कई applications हाल ही में खोली गई files के references रखती हैं। दस्तावेज़ बंद करने के बाद भी, हो सकता है application उससे एक connection बनाए रखे।
ड्राइव की files access करने वाली applications quit करें। सोचिए कि आपने ड्राइव से कौन-कौन से दस्तावेज़ खोले थे और उन applications को पूरी तरह quit करें (Command+Q), सिर्फ़ उनकी windows बंद नहीं।
Recent Items जाँचें। कुछ apps किसी menu में हाल ही में खोली गई files की सूची रखते हैं। उस menu को खोलने भर से files से connection दोबारा बन सकता है। अगर कोई app वजह लग रहा है पर उसे quit करने से बात नहीं बनती, तो उसे Dock से हटाकर देखें, फिर quit करें, और फिर ताज़ा खोलें।
Time Machine
अगर आपका ड्राइव एक Time Machine backup ड्राइव है, तो backupd प्रोसेस backups को संभालता है और backup के दौरान व बाद में ड्राइव को पकड़े रह सकता है।
backup पूरा होने का इंतज़ार करें। यह देखने के लिए कि कोई backup चल तो नहीं रहा, menu bar में Time Machine आइकन जाँचें। eject करने की कोशिश से पहले उसके ख़त्म होने का इंतज़ार करें।
मौजूदा backup छोड़ दें। चल रहे backup को रद्द करने के लिए Time Machine आइकन पर क्लिक करें और “Skip This Backup” चुनें। सफ़ाई के लिए एक मिनट रुकें, फिर eject करके देखें।
Time Machine को कुछ देर के लिए बंद करें। System Settings में जाएँ, Time Machine पर क्लिक करें, और उसे off कर दें। थोड़ी देर में ड्राइव छूट जाना चाहिए।
सिस्टम प्रोसेस और daemons
कुछ सिस्टम-स्तर के प्रोसेस mounted volumes पर बदलावों की निगरानी करते हैं। इनमें fsevents, fseventsd, और कई तरह के kernel tasks शामिल हैं।
ये आम तौर पर अपने आप ejection नहीं रोकते, लेकिन दूसरी समस्याओं के साथ मिलकर मामला बिगाड़ सकते हैं। अगर आप बाक़ी सब कुछ ठीक कर चुके हैं और फिर भी lsof की output में सिस्टम प्रोसेस दिख रहे हैं, तो आज़माएँ:
लॉग आउट करके दोबारा लॉग इन करें। इससे ज़्यादातर user-स्तर के प्रोसेस दोबारा शुरू हो जाते हैं और ज़िद्दी locks साफ़ हो सकते हैं।
अपना Mac रीस्टार्ट करें। अगर और कुछ काम न करे, तो रीस्टार्ट करने से ड्राइव निश्चित रूप से छूट जाएगा। पूरी तरह शट डाउन करें, फिर ड्राइव disconnect करें और दोबारा बूट करें।
force eject कब करें
force eject करने से macOS को कहा जाता है कि ड्राइव को इस्तेमाल कौन कर रहा है, इसकी परवाह किए बिना उसे unmount कर दे। आप यह ड्राइव पर Option दबाकर राइट-क्लिक करके और फिर “Force Eject” चुनकर कर सकते हैं।
अगर blocking प्रोसेस सिर्फ़ ड्राइव से पढ़ रहा था, तो यह आम तौर पर सुरक्षित है। अगर कोई चीज़ सक्रिय रूप से लिख रही थी, तो यह ज़्यादा जोखिम भरा है। अगर पक्का न हो, तो पहले blocking प्रोसेस को पहचानने और quit करने की कोशिश करें।
किसी ड्राइव को किसी दिखाई देने वाले copy या save operation के दौरान कभी भी force eject (या physically disconnect) न करें। ख़राब files इसी तरह बनती हैं।
आगे की समस्याओं से बचाव
ड्राइव को Spotlight से बाहर रखें। अगर आप अपने external ड्राइव खोजते नहीं हैं, तो उन्हें Spotlight Privacy सूची में जोड़ दें। ejection लगभग तुरंत हो जाएगी।
eject करने से पहले apps बंद करें। eject करने की कोशिश से पहले ड्राइव की files access करने वाली applications को quit करने की आदत बना लें।
sidebar का eject बटन इस्तेमाल करें। desktop आइकन के बजाय Finder की sidebar इस्तेमाल करने की आदत डालें। कुछ यूज़र्स इसे ज़्यादा भरोसेमंद पाते हैं।
अपना Terminal सुथरा रखें। अगर आप Terminal इस्तेमाल करते हैं, तो ध्यान रखें कि आप किस directory में हैं। shells को external ड्राइव की directories में बैठा हुआ न छोड़ें।
एक बेहतर वर्कफ़्लो
ejection की समस्याओं की पहचान के लिए Unix प्रोसेस को समझना, Terminal commands याद रखना, और कभी-कभी अंदाज़ा लगाना पड़ता है कि क्या ग़लत हो सकता है। एक काम के लिए, जो ड्राइव निकालने जितना आसान होना चाहिए, यह बहुत झंझट है।
Ejecta इस झंझट को हटा देता है। यह आपकी menu bar में बैठता है, आपको दिखाता है कि कौन से ड्राइव eject के लिए तैयार हैं और कौन से अटके हुए हैं, ठीक-ठीक पहचानता है कि उन्हें कौन रोक रहा है, और आपको एक क्लिक में समस्या सुलझाने देता है। न Terminal, न Activity Monitor, न अंदाज़ा।
जड़ की समस्या (macOS के धुँधले error messages और diagnostic tools की कमी) कहीं नहीं जा रही। लेकिन जब भी आपको कोई ड्राइव निकालना हो, आपको हर बार वही पहेली बार-बार सुलझाने की ज़रूरत नहीं है।
अगर आप हर बार Terminal इस्तेमाल नहीं करना चाहते, तो Ejecta आपको ठीक-ठीक दिखाता है कि कौन सा process आपके drive को रोक रहा है — और सीधे आपके menu bar से एक क्लिक में उसे बंद कर देता है।
अभी खरीदें — $9.99