Şu anda kullanımda olduğu için birim çıkartılamıyor


100

Harici bir USB yedekleme diskiyle çalıştıktan sonra, sürücüyü temiz bir şekilde çıkarmak istiyorum. 'Çıkar' düğmesine basıldığında Finder mesajla beni uyarır:

  • " Şu anda kullanımda olduğu için birim çıkartılamıyor. "

veya

  • " Diskname" diski çıkarılmadı çünkü bir veya daha fazla program kullanıyor olabilir. ".

veya Terminal'i kullanmaya çalışırken: umount /Volumes/Diskname

  • " umount (/ Volumes / Diskname): Kaynak meşgul - 'diskutil unmount'u deneyin' "

Bildiğim kadarıyla, bu diski kullanmıyorum ama Finder yaptığımı söylüyor, bu yüzden yanlış olmam gerekiyor. Sürücünün temiz bir şekilde çıkarılmasını tercih ederim. Birden fazla iş yapmanın ortasında olduğum için, üçüncü taraf yazılımların yüklenmesi gibi oturumu kapatmak ve oturum açmak tercih edilmez.

Terminal komutu lsofburada kullanımda olabilir, ancak şahsen böyle 'basit' bir sorun için çok karmaşık olduğunu ve dürüst olmak gerekirse, nasıl doğru kullanılacağını bilmiyorum.

Sorum: Sürücüden hangi programın kullanıldığını nasıl bilebilirim ki programdan düzgün bir şekilde çıkabiliyorum ve sürücümü çıkarabiliyorum?

Şu anda kullanımda olduğu için birim çıkartılamıyor. Bir veya daha fazla program kullanıyor olabileceği için "Camel" diski çıkartılmadı. "Mammtoh" diski çıkartılmadı çünkü bir ya da daha fazla program ... xkcd


2
"Bildiğim kadarıyla bu diski kullanmıyorum ama Finder yaptığımı söylüyor, bu yüzden yanlış olmam gerekiyor." Makinelere çok güveniyorsun. ;-) Genellikle, bilgisayarlar yanlış ve biz insanlar haklıyız.
Nicolas Barbulesco

Yani söylediğin şey haklı mıyım? ;)
CousinCocaine


2
: Spotlight suçlu eğer, kendinizi tekrar geçmeye kurtarmak apple.stackexchange.com/a/211616/15417
John2095

Yanıtlar:


130

lsofgerçekten en iyi bahis. En hızlı ve en kolay yol şudur: -

sudo lsof /Volumes/myDrive

Çalıştırması birkaç dakika sürebilir, ancak tamamlandığında, diskteki açık dosyaların bir listesini verir. Çıktı şöyle görünecek:

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, QuickLookbir dosyayı açık olan bir uygulamadır. Uygulamayı doğrudan kapatmak, sorunu çözmenin en iyi yoludur. Ancak, bu her zaman mümkün değildir. Örneğin, QuickLook Dock'ta bulabileceğiniz bir uygulama olarak görünmüyor.

Uygulamayı manuel olarak kapatamazsanız kill, komutu komut satırından sonlandırmak için komutu kullanabilirsiniz . Bunu yapmak için, PIDikinci sütundan gelen ID'yi öldürmek için kullanın. Yukarıdaki örnekten, şöyle olur:

kill 2158

Bazen bunun işe yaramadığını ve daha agresif bir form killkullanılması gerektiğini unutmayın. İşte bir dizi artan saldırganlık (2158 PID örneğini kullanarak):

kill 2158
sudo kill 2158
sudo kill -INT 2158
sudo kill -KILL 2158

İşlem / uygulama öldürüldüğünde diski çıkarmanız gerekir.

Son bir not, lsofbir veya iki dakika sürebilir. Aynı zamanda asılabilir, ama ne olduğuna karar vermeden önce en az birkaç dakika vermelisin.

Ayrıca, bazen temel komut sudo lsof /Volumes/myDrivehiçbir şey bulamaz. Bu durumda, +Dargümanı (yani sudo lsof +D /Volumes/myDrive) eklemeyi deneyin . Bu diskin yukarıdan aşağıya bir taramasını yapar. Daha uzun sürecek, ancak diskin çıkartılamaz olmasına neden olan herhangi bir şeyi alması gerekiyor.

( Ekstra ayrıntılar için şapka Alec Jacobson'un görevine bahşiş verir . )


1
Bunu da buldum ama birinin terminal dışı bir çözümü olduğunu umuyordum.
Olmazsa


3
→ Paul: Önerilen /usr/bin/sudo lsof /Volumes/myDrive
dan

3
Mükemmel, sudo olmadan tamamen farklı sonuçlar elde ettim.
Alper

2
Evet, pek çok durumda kesinlikle sudo gereklidir. Benim durumumda bu, diskin indekslenmeye çalışılmasının Spotlight nedeniyle olduğunu ortaya çıkardı, bu yüzden çözüm disk için Spotlight'ı devre dışı bırakmak ve ardından Spotlight'ı manuel olarak durdurmak / yeniden başlatmak oldu.
Tom

30

Denedin $ diskutil unmount /Volumes/Disknamemi

Ya da $ diskutil unmount force /Volumes/Diskname?

Manpage'in işaret ettiği gibi :

Mac OS X'in karmaşık ve iç içe doğası nedeniyle, sık sık başarısız olabilir. Bunun yerine diskutil (1) 'in ("diskutil unmount / mnt" olduğu gibi) kullanılması önerilir.

Biriminizin adında boşluk varsa \, örneğin:

$ diskutil unmount /Volumes/Disk\ Name

Veya karışıklığı önlemek için tırnak kullanın.

$ diskutil unmount "/Volumes/Disk Name"

1
Bunu denedim ve işe yaramadı inanıyorum. Ama bir dahaki sefere tekrar deneyeceğim ve yazımı buna göre güncelleyeceğim.
Kuzen Kokain

Örnekte tırnak işaretleri değil, tırnak işaretleri var. Bu iyi bir şey.
Nicolas Barbulesco

1
@NicolasBarbulesco: Bunu işaret ettiğiniz için teşekkür ederim, cevabında düzeltmeler yaptım. İyi yakalama!
Jason Robinson

1
Çalıştığı -> sudo diskutil devreden çıkarılırken kuvvet / Cilt / Diskname
tgkprog

1
@tgkprog Bunu duyduğuma sevindim, ayrıca sudokomut için teşekkürler , başkalarına da yardımcı olabilir.
Jason Robinson

15

Sorununuz muhtemelen şu işlemden kaynaklanıyor  mds : Diskinizi endeksleyen Spotlight.

Bu problemim var ve henüz bir çözüm bulamadım.


Spot ışık endekslemesinin nasıl devreden çıkarılacağı
şekildedir

Bunu kullanarak mds servisini de buldum. "Sudo mdutil -i off / Volumes / 16GB" kullanarak flash sürücü için mds hizmetini devre dışı bırakmaya çalıştım ama bu da yardımcı olmadı. FInder'da "Option + Click" kullanarak Finder'ı yeniden başlatmak zorunda kaldım.
Aruna

6

Birim / klasör / dosyayı kullanarak hangi işlemi / uygulamanın kullanıldığını gösteren bağış uygulaması " Beni ne tutuyor? " Uygulamasını deneyebilirsiniz .

Bu program Mac OS X 10.6 Snow Leopard için geliştirici tarafından onaylanmıştır, ancak bu uygulama için RoaringApps sayfası OS X 10.7 Lion ve OS X 10.8 Mountain Lion'da çalışıyor.

Beni tutan ne?

Bir şeyi sizi engellediği için Çöp Kutusunu boşaltamayacağınız ya da bir diski çıkaramayacağınız bir problem yaşadınız mı? Genelde bunun nedeni, bazı uygulamaların açık bir dosyaya sahip olmalarıdır ve bu nedenle diskten kurtulmaz ya da dosyayı çöpe alamazsınız. Bu yüzden beni neyin tuttuğunu yaptık! Beni Tutan, öğeyi açık tutan uygulamayı tanımlayacaktır. Ardından, sorun uygulamasından çıkmak (veya gerekirse onu öldürmek) için Beni Korumakta Olanları kullanabilirsiniz, böylece görevinizi gerçekleştirebilirsiniz. Beni Tutma, bir Automator iş akışı içerir, böylece doğrudan Finder'dan da arama yapabilirsiniz!


1
Bu geçerli bir yazılım gibi görünüyor, ancak ben gerçekten OS X yerel çözümlerini tercih ediyorum.
Kuzen Kokain

Doğal olarak, Apple'ın sağladığı bir şey mi demek istiyorsunuz? GUI cephesinde böyle bir şey yok. Ayrıca, WKM birkaç yıldır buralarda.
MK

İlaven için teşekkürler. Yerli doğru bir kelime değil, demek istediğim 'üçüncü parti olmayan' dı. WKM güzel bir çözüm, ama şahsen ben de onu tercih ediyorum.
Kuzen Kokain 14:13

Sadece High Sierra uygulamasında test ve hala çalışıyor. Ayrıca 64 bit.
dianeoforegon

4

Birimde açık dosya olmadığından emin olmama rağmen bu mesajı aldım . Bunu Why Unmount ile kontrol ettim , diskteki açık dosyaları gösterebilen bir GUI aracı.

Benim durumumda, bu dosya sisteminin bozuk bir işareti oldu. Disk Yardımcı Programını çalıştırmak (veya bu yeterli değilse, DiskWarrior) sorunu çözdü ve diski tekrar çıkarılabilir hale getirdi.


1
Benim durumumda, sistem bozuk değildi.
Kuzen Kokain

Olası görünmüyor. Daha büyük olasılıkla Spotlight veya başka bir uygulama veya hizmetin diski kilitlemesi vardır.
Tom

3

Hem komut satırı çözümü hem de Beni Korumak harika çalışıyor.

Özetlemek için, terminaldeki komut satırı:

lsof | grep /Volumes/myDrive

GUI uygulaması, Hamsoft Engineering'de Beni Tutma .

Her ikisi de aynı aramaya devam eden ekran görüntüleri.

Komut satırı çıkışı Beni tutanlar için kullanıcı arayüzü

Komut satırını hafifçe tercih ederim, her zaman yanında. Öte yandan, Beni Tutma, kurulduysa kullanımı daha hızlı ve kolaydır.


3

NOT: fseventerOS X 10.10 Yosemite ve geliştiricinin sayfası olan http://www.fernlightning.com bu arada çevrimdışı oluncaya kadar çalışır . Böylece ürün bağlantıları kaldırıldı. Bununla brew cask install fseventerbirlikte hala yaşlı macOS versiyonlarında mevcut olabilir.

CLI uygulamasına bir GUI alternatifi varlsof : çeşitli amaçlar
fseventer için mükemmel bir dosya sistemi erişim izleme aracı . Süper kullanıcı izinleriyle ( ) çalışır , bu nedenle tüm bağlı dosya sistemlerinin tüm okuma / yazma erişimini görür ve bunları çok net bir şekilde sunar.sudo

Tecrübelerim: Sürekli olarak düzgün bir şekilde çıkartılamayan (OP'nin ekran görüntülerinde olduğu gibi) bir Hacim vardı ve her zaman bir "zorla çıkar" a ihtiyaç duydum, hatta bazen zor bir fiziksel bağlantı kesilmesi (ya da tavsiye edilir!) Dosya sistemlerinize zarar verebilir. disk) veya bu kaba yöntemi atlamak için bir sistem kapatma.

Düzeltmem: Özetlendi: Çıkarma işlemi, bu Birimdeki bozuk veya eski dosya içeriğinden kaynaklanabilir. Sorunlu içeriği kaldırmak, bunu kalıcı olarak düzeltebilir. Detayda:

  1. Hangi dosyaya erişildiğini belirleyin ( lsofveya ile fseventer). Benim durumumda, açık kalması muhtemel kaynak arka plan disk ayrıştırma işlemi (Spotlight, QuickLook veya thelike) asılı olan açık kaynak kodlu bir Klasik Mac OS dosyasıydı.

  2. Bu rahatsız edici verileri bir dosya arşivinde yedekleyin (bu (Klasik) Mac'e özgü kaynak verilerini korur). Basitçe Finder'ın yerel "Sıkıştır" işlevini bağlam menüsünden kullandım.

  3. Sorunlu dosyayı / klasörü silin.

    • Her zamanki gibi Finder ile. Muhtemelen bu bir "sorunlu dosya / klasör" olduğu için başarısız olacaktır.
    • Finder plus, Çöpü boşaltırken ALT tuşunu basılı tutarken. Bu biraz daha güç oluşturur, ancak muhtemelen yine de başarısız olacaktır.
    • Terminal ile sudo rm -R /path/to/troublesome/FileOrFolder. Bu en sonunda Finder'ın silme girişimleri başarısız olduktan sonra çalıştı.
  4. Sesi tekrar açmayı deneyin. Başarısız olan arka plan işlemleri hala telafi edilemez bir durumda olabileceğinden hala başarısız olabilir .

  5. Tekrar başlat. Sonra tekrar sökmeyi deneyin. O andan itibaren, Cilt tekrar iyi çalıştı. Normal montaj, sökme, okuma / yazma işlemleri. Bir dosya gerçekten bir kullanıcı işlemi tarafından açıldığı zaman, bağlantıların kaldırılması önlendi. Yine mükemmel normal davranış.


1

Çözüm Tüm programların kapalı olduğundan emin olun. Ekranın sol üst köşesinde bulunan Apple simgesine tıklayın, ardından Zorla Çık'a tıklayın. Listede Finder'ı tıklayın. Şimdi Yeniden Başlat düğmesine tıklayın. Ardından sürücüyü tekrar çıkarmayı deneyin.


Bu çözümün işe yaradığını gördün mü?
Nicolas Barbulesco

1

Finder'ı yeniden başlatmayı deneyin. İşte çalışıyor


Bunun neden indirildiğinden emin değil; Benim durumumda, QuickLook ve MD'lerin her ikisi de üzerinde durdu (aktif bulucu pencerelerinin açık olmamasına rağmen). qlmanage -rMds'yi yeniden başlatabilirim, ancak "quicklookd'yi sıfırladığını" söyledi , ancak dosyayı yine de açık tuttu lsof +D /path/to/volume. Bulucunun yeniden başlatılması onu temizledi ve sesi çıkarmayı başardım.
AC Capehart

-2

Mac'imi yeniden başlattım ve bu düzeltildi :-)


1
Sürücünün temiz bir şekilde çıkarılmasını tercih ederim. Birden fazla iş yapmanın ortasında olduğum için, üçüncü taraf yazılımların yüklenmesi gibi oturumu kapatmak ve oturum açmak tercih edilmez.
KuzenCocaine
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.