Volume tidak dapat dikeluarkan karena saat ini sedang digunakan

100

Setelah bekerja dengan disk cadangan USB eksternal saya ingin melepas drive dengan bersih. Saat menekan tombol 'eject', Finder memperingatkan saya dengan pesan:

  • " Volume tidak dapat dikeluarkan karena saat ini sedang digunakan. "

atau

  • " Disk" Diskname "tidak dikeluarkan karena satu atau lebih program mungkin menggunakannya. "

atau ketika mencoba menggunakan Terminal: umount /Volumes/Diskname

  • " umount (/ Volume / Diskname): Sibuk sumber daya - coba 'diskutil unmount' "

Sejauh yang saya ketahui, saya tidak menggunakan disk ini tetapi Finder mengatakan saya lakukan, jadi saya pasti salah. Saya lebih suka unmount drive yang bersih. Karena saya sedang melakukan banyak tugas, keluar dan masuk tidak disukai seperti instalasi perangkat lunak pihak ketiga.

Perintah terminal lsofmungkin berguna di sini, tetapi secara pribadi saya pikir ini terlalu rumit untuk masalah 'sederhana' dan sejujurnya, saya tidak tahu bagaimana menggunakannya dengan benar.

Pertanyaan saya: Bagaimana saya tahu program apa yang menggunakan drive saya sehingga saya dapat keluar dari program itu dan mengeluarkan drive saya?

Volume tidak dapat dikeluarkan karena saat ini sedang digunakan. Disk "Unta" tidak dikeluarkan karena satu atau lebih program mungkin menggunakannya. Disk "Mammtoh" tidak dikeluarkan karena satu atau lebih program ... xkcd

SepupuCocaine
sumber
2
"Sejauh yang saya ketahui, saya tidak menggunakan disk ini tetapi Finder mengatakan saya melakukannya, jadi saya pasti salah." Anda terlalu mempercayai mesin. ;-) Seringkali, komputer salah dan kita manusia benar.
Nicolas Barbulesco
Jadi yang Anda katakan adalah bahwa saya benar? ;)
CousinCocaine
2
Dan jika Spotlight adalah pelakunya, menyelamatkan diri beberapa pengulangan: apple.stackexchange.com/a/211616/15417
John2095

Jawaban:

130

lsofmemang taruhan terbaik Anda. Cara tercepat dan termudah adalah: -

sudo lsof /Volumes/myDrive

Ini bisa memakan waktu beberapa menit untuk dijalankan, tetapi setelah selesai, ini memberi Anda daftar file yang terbuka pada disk. Outputnya akan terlihat seperti ini:

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  

Dalam hal ini, QuickLookaplikasi yang membuka file. Menutup aplikasi secara langsung adalah cara terbaik untuk memperbaiki masalah ini. Namun, itu tidak selalu memungkinkan. Misalnya, QuickLook tidak muncul sebagai aplikasi yang bisa Anda akses di Dock.

Jika Anda tidak dapat menutup aplikasi secara manual, Anda dapat menggunakan killperintah untuk menghentikannya dari baris perintah. Untuk melakukan itu, gunakan PIDdari kolom kedua sebagai ID untuk membunuh. Dari contoh di atas, itu akan menjadi:

kill 2158

Perhatikan bahwa kadang-kadang itu tidak berhasil dan bentuk yang lebih agresif killharus digunakan. Berikut adalah serangkaian peningkatan agresivitas (menggunakan contoh PID 2158):

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

Anda harus dapat mengeluarkan disk setelah proses / aplikasi terbunuh.

Satu catatan terakhir, lsofbisa memakan waktu satu atau dua menit. Itu juga bisa menggantung, tetapi Anda harus memberikannya setidaknya beberapa menit sebelum Anda memutuskan itulah yang terjadi.

Juga, kadang-kadang perintah dasar sudo lsof /Volumes/myDrivetidak akan menemukan apa pun. Jika itu terjadi, coba tambahkan +Dargumen (yaitu sudo lsof +D /Volumes/myDrive). Itu akan melakukan pemindaian top-down disk. Ini akan memakan waktu lebih lama, tetapi harus mengambil apa pun yang menyebabkan disk tidak bisa dikeluarkan.

( Kiat Hat ke pos Alec Jacobson untuk detail tambahan. )

Paul Gilfedder
sumber
1
Saya menemukan ini juga, tetapi saya berharap seseorang memiliki solusi non terminal. Jika tidak, Anda akan mendapatkan satu plus Anda;)
CousinCocaine
3
→ Paul: Saya sarankan Anda untuk meningkatkan perintah yang disarankan sebagai:/usr/bin/sudo lsof /Volumes/myDrive
dan
3
Oh, bagus, saya melakukan lsof tanpa sudo yang memberikan hasil yang sama sekali berbeda.
Alper
2
Yap, sudo jelas dibutuhkan dalam banyak kasus. Dalam kasus saya ini mengungkapkan bahwa itu karena Spotlight mencoba mengindeks disk, jadi solusinya adalah menonaktifkan Spotlight untuk disk, kemudian secara manual menghentikan / memulai ulang Spotlight.
Tom
30

Sudahkah Anda mencoba $ diskutil unmount /Volumes/Diskname?

Atau $ diskutil unmount force /Volumes/Diskname?

Seperti yang ditunjukkan halaman manual :

Karena sifat rumit dan terjalin dari Mac OS X, umount mungkin sering gagal. Disarankan agar diskutil (1) (seperti pada, "diskutil unmount / mnt") digunakan sebagai gantinya.

Jika volume Anda memiliki spasi dalam nama, pastikan untuk menghindari spasi dengan \, misalnya:

$ diskutil unmount /Volumes/Disk\ Name

Atau gunakan kutipan untuk menghindari kebingungan.

$ diskutil unmount "/Volumes/Disk Name"
Jason Robinson
sumber
1
Saya yakin saya sudah mencoba ini dan tidak berhasil. Tetapi lain kali saya akan mencoba lagi dan memperbarui posting saya sesuai.
SepupuCocaine
Contoh Anda memiliki tanda kutip, bukan apostrof. Itu hal yang baik.
Nicolas Barbulesco
1
@NicolasBarbulesco: Terima kasih telah menunjukkan itu, saya membuat koreksi untuk jawabannya. Tangkapan yang bagus!
Jason Robinson
1
Bekerja -> sudo diskutil unmount force / Volume / Diskname
tgkprog
1
@tgkprog Senang mendengarnya, juga terima kasih atas sudoperintahnya, yang dapat membantu orang lain juga.
Jason Robinson
15

Masalah Anda mungkin disebabkan oleh proses  mds : Spotlight mengindeks disk Anda.

Saya memiliki masalah ini, dan saya belum menemukan solusi (belum).

Nicolas Barbulesco
sumber
Ini adalah cara menonaktifkan / mengaktifkan kembali pengindeksan lampu sorot: iclarified.com/49187/…
rstackhouse
Saya juga menemukan bahwa layanan mds menggunakannya. Saya mencoba untuk menonaktifkan layanan mds untuk flash drive menggunakan "sudo mdutil -i off / Volumes / 16GB" tetapi juga tidak membantu. Saya harus meluncurkan Finder menggunakan "Option + Click" pada FInder.
Aruna
6

Anda dapat mencoba aplikasi donationware " What's Keeping me? " Yang menunjukkan proses / aplikasi apa yang menggunakan volume / folder / file.

Program ini disertifikasi oleh pengembang untuk Mac OS X 10.6 Snow Leopard, tetapi halaman RoaringApps untuk aplikasi ini mencantumkannya berfungsi dengan baik pada OS X 10.7 Lion dan OS X 10.8 Mountain Lion.

Tentang What Keeping Me?

Pernahkah Anda memiliki masalah di mana Anda tidak dapat mengosongkan Sampah atau mengeluarkan disk karena ada sesuatu yang mencegah Anda? Biasanya alasannya adalah karena beberapa aplikasi memiliki file yang terbuka, dan dengan demikian Anda tidak dapat menyingkirkan disk atau membuang file tersebut. Itu sebabnya kami membuat What Keeping Me! What's Keeping Me akan mengidentifikasi aplikasi yang menahan item terbuka. Anda kemudian dapat menggunakan What's Keeping Me untuk keluar dari aplikasi masalah (atau mematikannya jika diperlukan) sehingga Anda dapat melakukan tugas Anda. What's Keeping Me menyertakan alur kerja Automator sehingga Anda dapat melakukan pencarian langsung dari Finder juga!

MK
sumber
1
Ini terlihat seperti perangkat lunak yang valid, tapi saya lebih suka solusi asli OS X.
CousinCocaine
Maksud Anda sesuatu yang Apple sediakan? Tidak ada yang seperti itu di bagian depan GUI. Plus, WKM telah ada selama beberapa tahun.
MK
Terima kasih atas tambahan Anda. Asli bukan kata yang tepat, yang saya maksud adalah 'bukan pihak ketiga'. WKM adalah solusi yang bagus, tetapi secara pribadi saya lebih suka lsof.
CousinCocaine
Baru saja menguji aplikasi di High Sierra dan masih berfungsi. Ini juga 64-bit.
dianeoforegon
4

Saya sudah menerima pesan ini meskipun yakin tidak ada file terbuka di volume . Saya memeriksa ini dengan Why Not Unmount , alat GUI yang dapat menunjukkan file yang terbuka pada disk.

Dalam kasus saya, itu adalah tanda bahwa sistem file rusak. Menjalankan Disk Utility (atau jika itu tidak cukup, DiskWarrior) menyelesaikan masalah dan membuat disk ejectable lagi.

Hobbes
sumber
1
Dalam kasus saya, sistemnya tidak rusak.
CousinCocaine
Sepertinya tidak mungkin. Spotlight lebih mungkin, atau beberapa aplikasi atau layanan lain memiliki kunci pada disk.
Tom
3

Solusi baris perintah dan What's Keeping Me berfungsi dengan baik.

Untuk rekap, baris perintah di terminal adalah:

lsof | grep /Volumes/myDrive

Aplikasi GUI adalah What's Keeping Me, tersedia di Hamsoft Engineering .

Tangkapan layar keduanya dengan pencarian yang sama sedang berlangsung.

Output baris perintah GUI untuk What's Keeping Me

Saya lebih suka baris perintah hanya sedikit, karena selalu ada dengan Anda. Di sisi lain, What's Keeping Me lebih cepat dan lebih mudah digunakan jika Anda sudah menginstalnya.

Foliovision
sumber
3

CATATAN: fseventerberfungsi hingga OS X 10.10 Yosemite dan halaman pengembangnya http://www.fernlightning.com menjadi offline. Karena itu tautan produk dihapus. Dengan brew cask install fseventeritu mungkin masih tersedia pada versi macOS yang lebih tua.

Ada alternatif GUI untuk aplikasi CLI lsof:
fseventeradalah utilitas pemantauan akses sistem file yang hebat untuk berbagai keperluan . Ini berjalan dengan izin pengguna super ( sudo), sehingga ia melihat semua akses baca / tulis dari semua sistem file yang dipasang, dan menyajikannya dalam gambaran yang sangat jelas.

Pengalaman saya: Saya memiliki Volume yang terus-menerus tidak dapat dikeluarkan dengan benar (seperti pada tangkapan layar OP), dan selalu membutuhkan "force eject", kadang-kadang bahkan pemutusan fisik yang kuat (atau direkomendasikan! Dapat merusak sistem file Anda pada itu disk) atau shutdown sistem untuk memotong metode brute itu.

Perbaikan saya: Diringkas: Masalah ejeksi dapat disebabkan oleh konten file yang rusak atau lawas pada Volume itu. Menghapus konten yang bermasalah dapat memperbaikinya secara permanen. Secara terperinci:

  1. Tentukan file mana yang diakses (dengan lsofatau fseventer). Dalam kasus saya itu adalah file Classic Mac OS dengan garpu sumber daya yang tetap terbuka, kemungkinan karena beberapa proses penguraian disk latar belakang (Spotlight, QuickLook, atau yang serupa) tergantung padanya.

  2. Cadangkan data yang bermasalah ke arsip file (yang menyimpan (sumber daya) data sumber spesifik Mac (Klasik)). Saya cukup menggunakan fungsi "Kompres" asli Finder dari menu konteksnya.

  3. Hapus file / folder yang bermasalah.

    • Dengan Finder seperti biasa. Kemungkinan ini akan gagal, karena ini merupakan "file / folder bermasalah".
    • Dengan Finder plus menahan ALT saat mengosongkan Sampah. Ini menciptakan sedikit lebih banyak kekuatan, tetapi kemungkinan masih akan gagal.
    • Melalui Terminal bersama sudo rm -R /path/to/troublesome/FileOrFolder. Ini akhirnya berhasil setelah upaya penghapusan Finder gagal.
  4. Coba lepaskan volume lagi. Mungkin masih gagal, karena proses latar belakang, yang gagal, mungkin masih dalam kondisi tidak dapat dipulihkan .

  5. Mengulang kembali. Kemudian coba lepas gunung lagi. Sejak saat itu, Volume bekerja dengan baik lagi. Operasi pemasangan, pelepasan, baca / tulis yang normal. Hanya ketika file memang dibuka oleh proses pengguna, unmount dicegah. Perilaku normal lagi.

porg
sumber
1

Solusi Pastikan semua program ditutup. Klik ikon Apple di kiri atas layar, lalu klik Force Quit. Dalam daftar klik Finder. Sekarang klik tombol Luncurkan Ulang. Kemudian coba keluarkan drive lagi.

gila
sumber
Apakah Anda melihat solusi ini berfungsi?
Nicolas Barbulesco
1

Cobalah untuk meluncurkan kembali Finder. Ini berhasil

Alain
sumber
Tidak yakin mengapa ini diturunkan; Dalam kasus saya, QuickLook dan mds keduanya memegangnya (meskipun tidak ada jendela pencari aktif terbuka). Saya bisa memulai ulang mds, tetapi qlmanage -rmengatakan itu "mengatur ulang quicklookd" tetapi file itu tetap terbuka lsof +D /path/to/volume. Peluncuran kembali finder membersihkannya dan saya dapat mengeluarkan volume.
AC Capehart
-2

Saya me-restart Mac saya dan memperbaikinya :-)

Jenius
sumber
1
Saya lebih suka unmount drive yang bersih. Karena saya sedang melakukan banyak tugas, keluar dan masuk tidak disukai seperti instalasi perangkat lunak pihak ketiga.
CousinCocaine