Jak odmontować zablokowany wolumin?

0

Czasami wolumin odmawia wysunięcia, ponieważ używa go jakiś program.

Niestety Finder nie podaje tożsamości ani nie rozwiązuje problemu.

Jak więc rozwiązać ten problem w czysty sposób, bez użycia terminala?

Korzystając z terminala, mogę znaleźć sposób na jego wysunięcie, ale nie jest to niezawodne.

sudo lsof | grep volumeNamez pewnością daje pewne informacje, ale nie mam ochoty zabijać przypadkowych procesów w celu odmontowania woluminu. Ponadto nie wszyscy chcą uruchamiać polecenia w terminalu.

Nie chcę też wymuszać wysuwania głośności. Myślę, że nie powinniśmy zmuszać do wyrzucania, gdy początkowo nie uruchomiliśmy programu blokującego wolumin.

Często zaangażowanymi procesami są: mdsi notifyd.

Zabijanie mdsnie gwarantuje, że wyrzucenie objętości będzie możliwe. mdsproces zostaje odrodzony po zabiciu i kontynuuje zapobieganie wysunięciu dysku.

Zauważyłem również, że mdsmożna uruchamiać i używać plików, i nadal nie zapobiegam wysunięciu woluminu, więc nawet nie jestem pewien, że to mdswina.

alecail
źródło
1
Uruchamianie, lsofa następnie zabijanie kłopotliwych procesów jest w rzeczywistości kanonicznym sposobem rozwiązania tego problemu (i wszystkie narzędzia, które pozwalają ci wymusić wysunięcie dysku, również to robią), więc nie jestem pewien, jakiego rodzaju problemem jesteś próbuję rozwiązać tutaj. Czy możesz spróbować sformułować swoje pytanie bardziej szczegółowo?
nohillside
@patrix Wątpię, aby każdy użytkownik Maca uruchomił terminal i zaczął go pisać. Czy użytkownicy nietechniczni są zmuszani do wymuszenia wysunięcia i ewentualnie uszkodzenia danych w woluminie?
Alecail
Technicznie nie ma innego wyjścia, poza czekaniem na zakończenie procesów blokujących (które może nigdy nie być) lub restartem systemu (który również zabije procesy).
nohillside

Odpowiedzi:

1

Znalazłem to rozwiązanie, które już dzisiaj działa niezawodnie kilka razy.

Proces, który w moim przypadku był odpowiedzialny za niepowodzenie wyrzucenia, był:

SystemUIS(jak widać w topterminalu), co jest w rzeczywistości SystemUIServer.

Oto jak zabić go bez terminala: uruchom Monitor aktywności, znajdź SystemUIServer(wpisz interfejs w prawym górnym polu wyszukiwania) i zatrzymaj go lewym górnym przyciskiem (przycisk zatrzymania).

alecail
źródło