OS X определяет, какое приложение обращается к жесткому диску и предотвращает извлечение?


17

Я использую OS X 10.6 Server и хочу извлечь свой внешний диск, чтобы выполнить техническое обслуживание диска, например его дефрагментацию. Однако, когда я пытаюсь извлечь диск, он терпит неудачу, говоря, что диск используется. Я могу принудительно извлечь его, но это может привести к повреждению ... Как определить, какое приложение использует диск и держит его открытым?

Ответы:


25

Попробуйте sudo lsof | grep /Volumes/External, где «External» будет названием вашего внешнего диска. Вы размещаете данные каких-либо сервисов с этого диска?


Просто некоторые общие папки, но я знаю, что все клиенты в сети удалили эти общие папки и весь сервер.
jamone

Не всегда имеет значение. Иногда процессы AFP / SMB / NFS / FTP / etc оставляют открытые файлы только потому, что служба запущена. Лучше всего попытаться остановить службу, а затем извлечь. Это было бы лучше, чем использовать вышеуказанную команду вместе с kill -9. Вы можете остановить службу через командную строку чем-то вроде sudo serveradmin stop smb, а затем запустить ее sudo serveradmin start smb, где «smb» - это имя службы. sudo serveradmin listпокажет их всех.
churnd

Обычно это материал для индексирования Spotlight!
JGFMK

5

lsof - список открытых файлов

В командной строке просто введите, sudo lsofчтобы увидеть список открытых файлов, их расположение и идентификатор процесса, чтобы можно было завершить процесс.

Чтобы уточнить это немного, вы можете использовать sudo lsof | grep hard drive name.

Как только у вас есть пид, sudo kill -9 pidчтобы убить непослушного процесса.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.