Âm lượng không thể được đẩy ra vì nó hiện đang được sử dụng


100

Sau khi làm việc với một đĩa sao lưu USB bên ngoài, tôi muốn xóa sạch ổ đĩa. Khi nhấn nút 'đẩy', Finder sẽ cảnh báo tôi bằng tin nhắn:

  • " Âm lượng không thể được đẩy ra vì nó hiện đang được sử dụng. "

hoặc là

  • " Đĩa" Diskname "không bị đẩy ra vì một hoặc nhiều chương trình có thể đang sử dụng nó. ".

hoặc khi cố gắng sử dụng Terminal: umount /Volumes/Diskname

  • " umount (/ Khối lượng / Không xác định): Tài nguyên bận rộn - hãy thử 'Discutil unmount' "

Theo như tôi biết, tôi không sử dụng đĩa này nhưng Finder nói tôi làm vậy, nên tôi phải sai. Tôi thích một unmount sạch ổ đĩa. Vì tôi đang thực hiện nhiều nhiệm vụ, nên việc đăng xuất và đăng nhập không được ưu tiên như cài đặt phần mềm của bên thứ ba.

Lệnh đầu cuối lsofcó thể được sử dụng ở đây, nhưng cá nhân tôi nghĩ rằng điều này quá phức tạp đối với một vấn đề 'đơn giản' như vậy và thành thật mà nói, tôi không biết sử dụng nó đúng cách.

Câu hỏi của tôi: Làm thế nào để tôi biết chương trình nào đang sử dụng ổ đĩa của mình để tôi có thể thoát khỏi chương trình đó và đẩy ổ đĩa của mình đúng cách?

Âm lượng không thể được đẩy ra vì nó hiện đang được sử dụng. Đĩa "Lạc đà" không bị đẩy ra vì một hoặc nhiều chương trình có thể đang sử dụng nó. Đĩa "Mammtoh" không bị đẩy ra vì một hoặc nhiều chương trình ... xkcd


2
"Theo như tôi biết, tôi không sử dụng đĩa này nhưng Finder nói tôi làm vậy, nên tôi phải sai." Bạn tin tưởng máy móc quá nhiều. ;-) Thông thường, máy tính sai và con người chúng ta đúng.
Nicolas Barbulesco

Vì vậy, những gì bạn đang nói là tôi đúng? ;)
CousinCocaine


2
Và nếu Spotlight là thủ phạm, hãy tiết kiệm cho mình một số lần lặp lại: apple.stackexchange.com/a/211616/15417
John2095

Câu trả lời:


130

lsofthực sự là đặt cược tốt nhất của bạn. Cách nhanh nhất và dễ nhất sẽ là thế này: -

sudo lsof /Volumes/myDrive

Có thể mất vài phút để chạy, nhưng khi hoàn tất, nó sẽ cung cấp cho bạn một danh sách các tệp đang mở trên đĩa. Đầu ra sẽ trông giống như thế này:

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  

Trong trường hợp này, đó là QuickLookứng dụng mở tệp. Đóng ứng dụng trực tiếp là cách tốt nhất để khắc phục sự cố. Tuy nhiên, điều đó không phải lúc nào cũng có thể. Ví dụ: QuickLook không hiển thị dưới dạng một ứng dụng bạn có thể truy cập trong Dock.

Nếu bạn không thể đóng ứng dụng theo cách thủ công, bạn có thể sử dụng killlệnh để chấm dứt ứng dụng khỏi dòng lệnh. Để làm điều đó, sử dụng PIDtừ cột thứ hai làm ID để giết. Từ ví dụ trên, nó sẽ là:

kill 2158

Lưu ý rằng đôi khi điều đó không hoạt động và một hình thức tích cực hơn killphải được sử dụng. Dưới đây là một loạt các hành vi gây hấn leo thang (sử dụng ví dụ PID năm 2158):

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

Bạn sẽ có thể đẩy đĩa ra sau khi tiến trình / ứng dụng bị hủy.

Một lưu ý cuối cùng, lsofcó thể mất một hoặc hai phút. Nó cũng có thể treo, nhưng bạn nên cho nó ít nhất vài phút trước khi bạn quyết định điều đó đã xảy ra.

Ngoài ra, đôi khi lệnh cơ sở sudo lsof /Volumes/myDrivesẽ không tìm thấy gì. Nếu điều đó xảy ra, hãy thử thêm +Dđối số (tức là sudo lsof +D /Volumes/myDrive). Điều đó sẽ thực hiện quét từ trên xuống của đĩa. Sẽ mất nhiều thời gian hơn, nhưng nó sẽ chọn bất cứ thứ gì khiến cho đĩa không thể đẩy được.

( Hat tip cho bài viết của Alec Jacobson để biết thêm chi tiết. )


1
Tôi cũng tìm thấy điều này, nhưng tôi hy vọng ai đó có một giải pháp không đầu cuối. Nếu không, bạn sẽ nhận được cộng một của mình;)
CousinCocaine


3
→ Paul: Tôi đề nghị bạn cải thiện lệnh được đề xuất của mình là:/usr/bin/sudo lsof /Volumes/myDrive
dan

3
Ôi tuyệt vời, tôi đã làm lsof mà không cần sudo, nó mang lại một bộ kết quả hoàn toàn khác.
Alper

2
Đúng, sudo chắc chắn là cần thiết trong rất nhiều trường hợp. Trong trường hợp của tôi, điều này tiết lộ rằng đó là do Spotlight cố gắng lập chỉ mục cho đĩa, vì vậy giải pháp là vô hiệu hóa Spotlight cho đĩa, sau đó dừng / khởi động lại Spotlight theo cách thủ công.
Tom

30

Bạn đã thử $ diskutil unmount /Volumes/Disknamechưa

Hay là $ diskutil unmount force /Volumes/Diskname?

Như trang hướng dẫn chỉ ra:

Do tính chất phức tạp và đan xen của Mac OS X, umount có thể bị lỗi thường xuyên. Chúng tôi khuyên bạn nên sử dụng Diskutil (1) (như trong, "Discutil unmount / mnt") được sử dụng thay thế.

Nếu âm lượng của bạn có khoảng trắng trong tên, hãy chắc chắn thoát khỏi khoảng trắng bằng \, ví dụ:

$ diskutil unmount /Volumes/Disk\ Name

Hoặc sử dụng dấu ngoặc kép để tránh nhầm lẫn.

$ diskutil unmount "/Volumes/Disk Name"

1
Tôi tin rằng tôi đã thử điều này và nó đã không hoạt động. Nhưng lần sau tôi sẽ thử lại và cập nhật bài viết của mình cho phù hợp.
CousinCocaine

Ví dụ của bạn có dấu ngoặc kép, không dấu nháy đơn. Đó là một điều tốt.
Nicolas Barbulesco

1
@NicolasBarbulesco: Cảm ơn bạn đã chỉ ra điều đó, tôi đã sửa chữa câu trả lời. Nắm bắt tốt!
Jason Robinson

1
Đã làm việc -> sudo đĩautil unmount force / Volume / Diskname
tgkprog 28/03/2015

1
@tgkprog Rất vui khi nghe nó, cũng cảm ơn vì sudolệnh này, điều đó cũng có thể giúp đỡ người khác.
Jason Robinson

15

Vấn đề của bạn có thể là do quá trình  mds : Spotlight lập chỉ mục đĩa của bạn.

Tôi có vấn đề này, và tôi chưa tìm thấy giải pháp (chưa).


Đây là cách vô hiệu hóa / bật lại lập chỉ mục đèn chiếu: iclarified.com/49187/ trên
rstackhouse

Tôi cũng thấy rằng dịch vụ mds sử dụng nó. Tôi đã cố gắng vô hiệu hóa dịch vụ mds cho ổ đĩa flash bằng cách sử dụng "sudo mdutil -i off / Volume / 16GB" nhưng nó cũng không giúp được gì. Tôi đã phải khởi chạy lại Finder bằng cách sử dụng "Tùy chọn + Nhấp chuột" trên FInder.
Aruna

6

Bạn có thể dùng thử ứng dụng đóng góp " What Keeping me? " Cho biết quá trình / ứng dụng nào đang sử dụng volume / thư mục / tập tin.

Chương trình này được nhà phát triển cho Mac OS X 10.6 Snow Leopard chứng nhận, nhưng trang RoaredApps cho ứng dụng này liệt kê nó hoạt động tốt trên OS X 10.7 Lion và OS X 10.8 Mountain Lion.

Về những gì giữ tôi?

Bạn đã bao giờ gặp vấn đề khi bạn không thể dọn sạch Thùng rác hoặc đẩy đĩa ra vì có thứ gì đó đang ngăn cản bạn? Thông thường lý do là vì một số ứng dụng có tệp mở và do đó bạn không thể thoát khỏi đĩa hoặc rác tệp. Đó là lý do tại sao chúng tôi tạo ra What Keeping Me! What Keeping Me sẽ xác định ứng dụng đang giữ mục mở. Sau đó, bạn có thể sử dụng What Keeping Me để thoát khỏi ứng dụng có vấn đề (hoặc tiêu diệt nó nếu cần) để bạn có thể thực hiện nhiệm vụ của mình. What Keeping Me bao gồm một quy trình làm việc của Automator để bạn cũng có thể thực hiện tìm kiếm trực tiếp từ Finder!


1
Điều này trông giống như phần mềm hợp lệ, nhưng tôi thực sự thích các giải pháp gốc OS X.
CousinCocaine

Theo bản địa bạn có nghĩa là một cái gì đó Apple cung cấp? Không có gì giống như vậy ở mặt trước GUI. Thêm vào đó, WKM đã xuất hiện được vài năm.
MK

Cảm ơn sự bổ sung của bạn. Bản địa không phải là từ chính xác, ý tôi là 'bên thứ ba'. WKM là một giải pháp tốt, nhưng cá nhân tôi thích lsof.
CousinCocaine

Chỉ cần thử nghiệm ứng dụng ở High Sierra và nó vẫn hoạt động. Nó cũng 64-bit.
dianeoforegon

4

Tôi đã có thông báo này mặc dù chắc chắn không có tệp nào đang mở trên ổ đĩa . Tôi đã kiểm tra điều này với Why Not Unmount , một công cụ GUI có thể chỉ ra các tệp đang mở trên đĩa.

Trong trường hợp của tôi, đó là một dấu hiệu cho thấy hệ thống tập tin bị hỏng. Chạy Disk Utility (hoặc nếu điều đó là không đủ, DiskWar Warrior) đã giải quyết vấn đề và khiến đĩa bị đẩy ra một lần nữa.


1
Trong trường hợp của tôi, hệ thống không bị hỏng.
CousinCocaine

Có vẻ như không thể. Nhiều khả năng Spotlight hoặc một số ứng dụng hoặc dịch vụ khác có khóa trên đĩa.
Tom

3

Cả giải pháp dòng lệnh và What Keeping Me đều hoạt động tốt.

Tóm lại, dòng lệnh trong terminal là:

lsof | grep /Volumes/myDrive

Ứng dụng GUI là What Keeping Me, có sẵn tại Hamsoft Engineering .

Ảnh chụp màn hình của cả hai với cùng một tìm kiếm đang diễn ra.

Đầu ra dòng lệnh GUI cho những gì giữ tôi

Tôi thích dòng lệnh chỉ một chút, vì nó luôn ở đó với bạn. Mặt khác, What Keeping Me nhanh hơn và dễ sử dụng hơn nếu bạn đã cài đặt nó.


3

LƯU Ý: fseventerhoạt động cho đến khi OS X 10.10 Yosemite và trang của nhà phát triển http://www.fernlightning.com đồng thời có ngoại tuyến. Do đó các liên kết sản phẩm đã được gỡ bỏ. Với brew cask install fseventernó vẫn có thể có sẵn trên các phiên bản macOS cũ.

Có một thay thế GUI cho ứng dụng CLI lsof:
fseventerlà một tiện ích giám sát truy cập hệ thống tệp tuyệt vời cho các mục đích khác nhau . Nó chạy với quyền siêu người dùng ( sudo), vì vậy nó nhìn thấy tất cả quyền truy cập đọc / ghi của tất cả các hệ thống tệp được gắn và trình bày chúng trong một tổng quan rất rõ ràng.

Kinh nghiệm của tôi: Tôi có một Âm lượng liên tục không thể được đẩy ra một cách chính xác (như trong ảnh chụp màn hình của OP) và luôn cần một "lực đẩy", đôi khi ngay cả việc ngắt kết nối vật lý mạnh mẽ (cũng không được khuyến nghị! Có thể làm hỏng hệ thống tệp của bạn trên đó đĩa) hoặc tắt hệ thống để bỏ qua phương thức vũ phu đó.

Khắc phục của tôi: Tóm tắt: Sự cố phóng có thể do nội dung tệp bị hỏng hoặc cũ trên Tập đó. Xóa nội dung gặp rắc rối có thể khắc phục điều này vĩnh viễn. Chi tiết:

  1. Xác định tệp nào được truy cập (có lsofhoặc fseventer). Trong trường hợp của tôi, đó là một tệp Mac OS cổ điển với một ngã ba tài nguyên vẫn mở, có thể là một số quá trình phân tích cú pháp đĩa nền (Spotlight, QuickLook hoặc thelike) được treo trên đó.

  2. Sao lưu dữ liệu gây rắc rối vào kho lưu trữ tệp (bảo tồn dữ liệu tài nguyên cụ thể của Mac (Cổ điển). Tôi chỉ đơn giản sử dụng chức năng "Nén" riêng của Finder từ menu ngữ cảnh.

  3. Xóa tập tin / thư mục gặp rắc rối.

    • Với Finder như bình thường. Có khả năng điều này sẽ thất bại, vì nó là "tập tin / thư mục gặp rắc rối".
    • Với Finder cộng với giữ ALT trong khi dọn sạch Thùng rác. Điều này tạo ra một lực mạnh hơn một chút, nhưng có khả năng nó vẫn sẽ thất bại.
    • Qua Terminal với sudo rm -R /path/to/troublesome/FileOrFolder. Điều này cuối cùng đã hoạt động sau khi nỗ lực xóa của Finder đã thất bại.
  4. Hãy thử ngắt âm lượng một lần nữa. Nó vẫn có thể thất bại, vì các quá trình nền, thất bại, vẫn có thể ở trạng thái không thể phục hồi .

  5. Khởi động lại. Sau đó thử lại lần nữa. Từ đó trở đi, Volume hoạt động tốt trở lại. Gắn bình thường, ngắt kết nối, đọc / ghi hoạt động. Chỉ khi một tập tin thực sự được mở bởi một quá trình người dùng, việc ngắt kết nối mới bị ngăn chặn. Hoàn toàn bình thường hành vi trở lại.


1

Giải pháp Đảm bảo tất cả các chương trình được đóng lại. Nhấp vào biểu tượng Apple ở phía trên bên trái màn hình, sau đó nhấp vào Thoát khỏi lực lượng. Trong danh sách bấm Finder. Bây giờ bấm vào nút Khởi chạy lại. Sau đó thử đẩy ổ đĩa lại.


Bạn đã thấy giải pháp này hoạt động?
Nicolas Barbulesco

1

Cố gắng khởi chạy lại Finder. Ở đây nó hoạt động


Không chắc chắn tại sao điều này đã bị hạ cấp; Trong trường hợp của tôi, QuickLook và mds đều giữ nó (mặc dù không có cửa sổ tìm kiếm hoạt động nào mở). Tôi có thể khởi động lại mds, nhưng qlmanage -rnói rằng nó "đặt lại quicklookd" nhưng nó vẫn giữ tập tin mở theo lsof +D /path/to/volume. Một khởi động lại của công cụ tìm đã xóa nó và tôi đã có thể đẩy âm lượng.
AC Capehart

-2

Tôi đã khởi động lại máy Mac của mình và nó đã sửa nó :-)


1
Tôi thích một unmount sạch ổ đĩa. Vì tôi đang thực hiện nhiều tác vụ nên việc đăng xuất và đăng nhập không được ưu tiên như cài đặt phần mềm của bên thứ ba.
Anh em họ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.