Po pracy z zewnętrznym dyskiem kopii zapasowej USB chcę czysto odmontować dysk. Po naciśnięciu przycisku „wysuwania” Finder ostrzega mnie komunikatem:
- „ Nie można wysunąć woluminu, ponieważ jest obecnie w użyciu ”.
lub
- „ Dysk „ Nazwa dysku ”nie został wysunięty, ponieważ może go używać co najmniej jeden program. ”.
lub podczas próby użycia terminala: umount /Volumes/Diskname
- „ umount (/ Volumes / Diskname): Zasób zajęty - spróbuj„ diskutil unmount ” ”
O ile mi wiadomo, nie używam tego dysku, ale Finder mówi, że tak, więc muszę się mylić. Wolę czysty odmontowanie dysku. Ponieważ jestem w trakcie wykonywania wielu zadań, wylogowywanie się i logowanie nie jest preferowane, podobnie jak instalacja oprogramowania innych firm.
Przydałoby się tu polecenie terminalu lsof
, ale osobiście uważam, że jest to zbyt skomplikowane, aby można było na niego „z łatwością”, i szczerze mówiąc, nie wiem, jak właściwie z niego korzystać.
Moje pytanie: Skąd mam wiedzieć, który program używa mojego dysku, aby poprawnie wyjść z tego programu i wysunąć dysk?
źródło
Odpowiedzi:
lsof
jest rzeczywiście najlepszym wyborem. Najszybszy i najłatwiejszy sposób to: -Uruchomienie może potrwać kilka minut, ale po jego zakończeniu wyświetla listę otwartych plików na dysku. Dane wyjściowe będą wyglądać mniej więcej tak:
W tym przypadku jest to
QuickLook
aplikacja, która ma otwarty plik. Bezpośrednie zamknięcie aplikacji jest najlepszym sposobem na rozwiązanie tego problemu. Jednak nie zawsze jest to możliwe. Na przykład QuickLook nie wyświetla się jako aplikacja, do której można dostać się w Docku.Jeśli nie możesz ręcznie zamknąć aplikacji, możesz użyć
kill
polecenia, aby zakończyć działanie z wiersza polecenia. Aby to zrobić, użyjPID
z drugiej kolumny jako identyfikatora do zabicia. Z powyższego przykładu byłoby to:Pamiętaj, że czasami to nie działa i należy stosować bardziej agresywną formę
kill
. Oto seria eskalacji agresywności (na przykładzie PID 2158):Powinieneś być w stanie wysunąć dysk po zabiciu procesu / aplikacji.
Ostatnia uwaga
lsof
może zająć minutę lub dwie. Może się również zawiesić, ale powinieneś dać mu to przynajmniej kilka minut, zanim zdecydujesz, że tak się stało.Czasami polecenie podstawowe
sudo lsof /Volumes/myDrive
niczego nie znajdzie. Jeśli tak się stanie, spróbuj dodać+D
argument (tjsudo lsof +D /Volumes/myDrive
.). Spowoduje to skanowanie dysku z góry na dół. To potrwa dłużej, ale powinno wychwycić wszystko, co powoduje, że dysk nie może zostać wyrzucony.( Czapka dla posta Aleca Jacobsona dla dodatkowych szczegółów. )
źródło
/usr/bin/sudo lsof /Volumes/myDrive
Próbowałeś
$ diskutil unmount /Volumes/Diskname
?Czy
$ diskutil unmount force /Volumes/Diskname
?Jak wskazuje strona podręcznika :
Jeśli w nazwie woluminu są spacje, pamiętaj, aby uciec przed nimi
\
, np .:Lub użyj cytatów, aby uniknąć zamieszania.
źródło
sudo
polecenie, które może również pomóc innym.Twój problem jest prawdopodobnie spowodowany przez proces
mds
: Spotlight indeksujący dysk.Mam ten problem i nie znalazłem (jeszcze) rozwiązania.
źródło
Możesz wypróbować aplikację do darowizn „ What's Keeping me? ”, Która pokazuje, jaki proces / aplikacja korzysta z woluminu / folderu / pliku.
Ten program jest certyfikowany przez programistę dla systemu Mac OS X 10.6 Snow Leopard, ale strona RoaringApps dla tej aplikacji podaje, że działa dobrze w systemach OS X 10.7 Lion i OS X 10.8 Mountain Lion.
źródło
Otrzymałem tę wiadomość, mimo że jestem pewien, że na woluminie nie ma otwartych plików . Sprawdziłem to za pomocą narzędzia GUI Why Not Unmount , które może wskazywać otwarte pliki na dysku.
W moim przypadku był to znak, że system plików jest uszkodzony. Uruchomienie Narzędzia dyskowego (lub jeśli to nie wystarczyło, DiskWarrior) rozwiązało problem i sprawiło, że dysk został ponownie wysunięty.
źródło
Zarówno rozwiązanie wiersza polecenia, jak i program Keep Keep Me działają świetnie.
Podsumowując, wiersz poleceń w terminalu to:
Aplikacja GUI to What's Keeping Me, dostępna w Hamsoft Engineering .
Zrzuty ekranów obu z tego samego wyszukiwania.
Wolę nieco wiersz poleceń, ponieważ zawsze jest on z tobą. Z drugiej strony What's Keeping Me jest szybszy i łatwiejszy w użyciu, jeśli masz już zainstalowany.
źródło
UWAGA:
fseventer
działa, dopóki OS X 10.10 Yosemite i strona programisty http://www.fernlightning.com nie przejdą w międzyczasie do trybu offline. Dlatego linki do produktów zostały usunięte. Dziękibrew cask install fseventer
temu może być nadal dostępny w starszych wersjach systemu macOS.Istnieje alternatywna aplikacja GUI do aplikacji CLI
lsof
:fseventer
jest doskonałym narzędziem do monitorowania dostępu do systemu plików do różnych celów . Działa z uprawnieniami superużytkownika (sudo
), więc widzi cały dostęp do odczytu / zapisu wszystkich zamontowanych systemów plików i przedstawia je w bardzo przejrzysty sposób.Moje doświadczenie: miałem wolumin, który ciągle nie mógł zostać prawidłowo wysunięty (jak na zrzutach ekranowych PO) i zawsze potrzebowałem „wymuszonego wysunięcia”, czasem nawet silnego fizycznego rozłączenia (nie zalecane! Mogłoby to uszkodzić twój system plików) dysk) lub zamknięcie systemu w celu obejścia tej brutalnej metody.
Moja poprawka: Podsumowanie: problem z wyrzuceniem może być spowodowany uszkodzoną lub starszą zawartością pliku w tym woluminie. Usunięcie problematycznej zawartości może to naprawić na stałe. Szczegółowo:
Określ dostęp do pliku (za pomocą
lsof
lubfseventer
). W moim przypadku był to klasyczny plik Mac OS z rozwidleniem zasobów, który pozostawał otwarty, prawdopodobnie podczas zawieszania się na nim jakiegoś procesu analizowania dysku w tle (Spotlight, QuickLook itp.).Wykonaj kopię zapasową tych kłopotliwych danych w archiwum plików (które zachowuje dane zasobów (klasyczne) dla komputerów Mac). Po prostu użyłem natywnej funkcji kompresji Findera z menu kontekstowego.
Usuń niesprawny plik / folder.
sudo rm -R /path/to/troublesome/FileOrFolder
. W końcu zadziałało to po nieudanych próbach usunięcia Findera.Spróbuj odmontować wolumin ponownie. Może nadal zawieść, ponieważ procesy w tle, które zakończyły się niepowodzeniem, mogą być nadal w stanie niemożliwym do odzyskania .
Uruchom ponownie Następnie spróbuj odmontować ponownie. Od tego momentu Tom znów działał dobrze. Normalne operacje montowania, odmontowywania, odczytu / zapisu. Tylko wtedy, gdy plik był rzeczywiście otwarty przez proces użytkownika, odmontowanie zostało uniemożliwione. Znowu całkowicie normalne zachowanie.
źródło
Rozwiązanie Upewnij się, że wszystkie programy są zamknięte. Kliknij ikonę Apple w lewym górnym rogu ekranu, a następnie kliknij przycisk Wymuś zamknięcie. Na liście kliknij Finder. Teraz kliknij przycisk Uruchom ponownie. Następnie spróbuj ponownie wysunąć dysk.
źródło
Spróbuj ponownie uruchomić Findera. Tutaj to działa
źródło
qlmanage -r
powiedziałem, że „resetuje szybkie przeglądanie”, ale nadal utrzymuje plik otwarty zgodnie zlsof +D /path/to/volume
. Ponowne uruchomienie wyszukiwarki wyczyściło go i mogłem wysunąć wolumin.Uruchomiłem ponownie komputer Mac i naprawiłem to :-)
źródło