OS X menentukan aplikasi mana yang mengakses HDD dan mencegah pengusiran?

17

Saya menjalankan OS X 10.6 Server, dan saya ingin mengeluarkan drive eksternal saya sehingga saya dapat melakukan beberapa perawatan disk seperti defraging. Namun ketika saya mencoba untuk mengeluarkan drive itu gagal mengatakan disk sedang digunakan. Saya bisa memaksa mengeluarkannya tetapi itu bisa menyebabkan korupsi ... Bagaimana saya bisa tahu aplikasi mana yang menggunakan drive dan menahannya terbuka?

jamone
sumber

Jawaban:

25

Coba sudo lsof | grep /Volumes/External, di mana "Eksternal" akan menjadi nama drive eksternal Anda. Apakah Anda menghosting data layanan apa pun dari drive itu?

churnd
sumber
Hanya beberapa folder bersama, tetapi saya tahu bahwa semua klien di jaringan telah mengeluarkan saham dan seluruh server.
jamone
Tidak selalu penting. Terkadang proses AFP / SMB / NFS / FTP / etc akan meninggalkan file terbuka hanya karena layanan sedang berjalan. Taruhan terbaik adalah mencoba menghentikan layanan, lalu mengeluarkan. Itu akan lebih baik daripada menggunakan perintah di atas bersama dengan kill -9. Anda dapat menghentikan layanan melalui baris perintah dengan sesuatu seperti sudo serveradmin stop smb, lalu memulainya dengan sudo serveradmin start smb, di mana "seseorang" adalah nama layanan. sudo serveradmin listakan menunjukkan semuanya.
churnd
Biasanya itu adalah pengindeksan Spotlight!
JGFMK
5

lsof - Daftar file yang terbuka

Pada perintah Anda promt cukup ketik sudo lsofuntuk melihat daftar file yang terbuka dan lokasi mereka dan id proses sehingga Anda dapat membunuh proses.

Untuk memperbaikinya sedikit bisa Anda gunakan sudo lsof | grep hard drive name.

Setelah Anda memiliki pid sudo kill -9 piduntuk membunuh proses nakal.

Jon Rhoades
sumber