Harici bir USB yedekleme diski ile çalıştıktan sonra sürücünün bağlantısını temiz bir şekilde kesmek istiyorum. Çıkart düğmesine bastığımda Finder beni şu mesajla uyarıyor:
veya
veya Terminal'i kullanmaya çalışırken: umount /Volumes/Diskname
Bildiğim kadarıyla bu diski kullanmıyorum ama Finder kullandığımı söylüyor, bu yüzden yanılıyor olmalıyım. Sürücünün bağlantısını temiz bir şekilde kesmeyi tercih ederim. Birden fazla görevin ortasında olduğum için, üçüncü parti yazılımların yüklenmesi gibi oturumu kapatıp açmak da tercih edilmiyor.
Terminal komutu lsof
burada işe yarayabilir, ancak kişisel olarak bunun böyle basit bir sorun için çok karmaşık olduğunu düşünüyorum ve dürüst olmak gerekirse, nasıl doğru kullanılacağını bilmiyorum.
Benim sorum: Sürücümü hangi programın kullandığını nasıl bilebilirim, böylece o programdan düzgün bir şekilde çıkabilir ve sürücümü çıkarabilirim?
lsof' gerçekten de en iyi seçeneğinizdir. En hızlı ve en kolay yol şu olacaktır :-
sudo lsof /Volumes/myDrive
Çalışması birkaç dakika sürebilir, ancak tamamlandığında size diskteki açık dosyaların bir listesini verir. Çıktı aşağıdaki gibi görünecektir:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mds 89 root 19r DIR 52,3 432 2 /Volumes/Photos
mds 89 root 23r DIR 52,3 432 2 /Volumes/Photos
Finder 681 alans 14r DIR 52,3 432 2 /Volumes/Photos
QuickLook 2158 alans 9r REG 52,3 1141591 78651 /Volumes/Photos/_tmp_iphone_10_backup/APC_1546.JPG
Bu durumda, açık bir dosyaya sahip olan QuickLook
uygulamasıdır. Uygulamayı doğrudan kapatmak sorunu çözmenin en iyi yoludur. Ancak, bu her zaman mümkün değildir. Örneğin, QuickLook Dock'ta ulaşabileceğiniz bir uygulama olarak görünmez.
Uygulamayı manuel olarak kapatamıyorsanız, komut satırından sonlandırmak için kill
komutunu kullanabilirsiniz. Bunu yapmak için, öldürülecek kimlik olarak ikinci sütundaki PID
yi kullanın. Yukarıdaki örnekte bu şöyle olacaktır:
kill 2158
Bazen bunun işe yaramadığını ve kill
in daha agresif bir formunun kullanılması gerektiğini unutmayın. İşte bir dizi artan saldırganlık (2158 örnek PID'sini kullanarak):
kill 2158
sudo kill 2158
sudo kill -INT 2158
sudo kill -KILL 2158
İşlem/uygulama öldürüldükten sonra diski çıkarabilmeniz gerekir.
Son bir not, lsof
bir ya da iki dakika sürebilir. Ayrıca askıda kalabilir, ancak bunun olduğuna karar vermeden önce en az birkaç dakika beklemelisiniz.
Ayrıca, bazen sudo lsof /Volumes/myDrive
temel komutu hiçbir şey bulamaz. Böyle bir durumda +D
argümanını eklemeyi deneyin (yani sudo lsof +D /Volumes/myDrive
). Bu diski yukarıdan aşağıya tarayacaktır. Daha uzun sürecektir, ancak diskin çıkarılamamasına neden olan herhangi bir şeyi bulmalıdır.
(Ekstra ayrıntılar için Alec Jacobson'ın gönderisine şapka ipucu.)
Birimi/klasörü/dosyayı hangi işlemin/uygulamanın kullandığını gösteren "What's Keeping me?" donationware uygulamasını deneyebilirsiniz.
Bu program geliştirici tarafından Mac OS X 10.6 Snow Leopard için onaylanmıştır, ancak bu uygulama için RoaringApps sayfası OS X 10.7 Lion ve OS X 10.8 Mountain Lion üzerinde sorunsuz çalıştığını listeler.
Beni Ne Engelliyor?
Sizi engelleyen bir şey olduğu için Çöp Kutusunu boşaltamadığınız ya da bir diski çıkaramadığınız oldu mu hiç? Genellikle bunun nedeni bazı uygulamaların açık bir dosyaya sahip olması ve bu nedenle diskten kurtulamamanız veya dosyayı çöpe atamamanızdır. İşte bu yüzden What's Keeping Me'yi yaptık! What's Keeping Me, öğeyi açık tutan uygulamayı tanımlayacaktır. Daha sonra What's Keeping Me'yi kullanarak sorunlu uygulamadan çıkabilir (veya gerekirse onu öldürebilirsiniz), böylece görevinizi yerine getirebilirsiniz. What's Keeping Me, doğrudan Finder'dan da arama yapabilmeniz için bir Automator iş akışı içerir!
Bu mesajı birimde açık dosya olmadığından emin olmama rağmen aldım. Bunu bir diskteki açık dosyaları gösterebilen bir GUI aracı olan Why Not Unmount ile kontrol ettim.
Benim durumumda, bu dosya sisteminin bozuk olduğuna dair bir işaretti. Disk İzlencesi'ni (ya da bu yeterli değilse DiskWarrior'u) çalıştırmak sorunu çözdü ve diski tekrar çıkarılabilir hale getirdi.