После работы с внешним резервным USB-диском я хочу аккуратно размонтировать диск. При нажатии на кнопку «извлечь» Finder предупреждает меня сообщением:
- « Том не может быть извлечен, потому что он в настоящее время используется ».
или же
- Msgstr "Диск " Имя диска "не был извлечён, потому что одна или несколько программ могут использовать его. "
или при попытке использовать Терминал: umount /Volumes/Diskname
- " umount (/ Volumes / Diskname): ресурс занят - попробуйте 'diskutil unmount' "
Насколько я знаю, я не использую этот диск, но Finder говорит, что я использую, поэтому я должен ошибаться. Я предпочитаю чистое размонтирование диска. Поскольку я нахожусь в процессе выполнения нескольких задач, выход из системы и вход в нее не являются предпочтительными, как установка стороннего программного обеспечения.
Здесь lsof
может быть полезна команда терминала , но лично я думаю, что она слишком сложна для такой «простой» проблемы, и, честно говоря, я не знаю, как правильно ее использовать.
Мой вопрос: как узнать, какая программа использует мой диск, чтобы я мог правильно выйти из этой программы и извлечь ее?
источник
Ответы:
lsof
это действительно ваша лучшая ставка. Самый быстрый и простой способ будет следующим:Запуск может занять пару минут, но после его завершения вы получите список открытых файлов на диске. Вывод будет выглядеть примерно так:
В данном случае это
QuickLook
приложение, в котором открыт файл. Непосредственное закрытие приложения - лучший способ решить проблему. Однако это не всегда возможно. Например, QuickLook не отображается как приложение, к которому вы можете получить доступ в Dock.Если вы не можете закрыть приложение вручную, вы можете использовать
kill
команду, чтобы завершить его из командной строки. Чтобы сделать это, используйтеPID
из второго столбца в качестве идентификатора для уничтожения. Из приведенного выше примера это будет:Обратите внимание, что иногда это не работает, и необходимо использовать более агрессивную форму
kill
. Вот серия нарастающей агрессивности (на примере PID 2158):Вы должны быть в состоянии извлечь диск после того, как процесс / приложение было убито.
Последнее замечание
lsof
может занять минуту или две. Он также может зависать, но вы должны дать ему хотя бы несколько минут, прежде чем решите, что это случилось.Кроме того, иногда базовая команда
sudo lsof /Volumes/myDrive
ничего не находит. Если это произойдет, попробуйте добавить+D
аргумент (т.е.sudo lsof +D /Volumes/myDrive
). Это сделает сканирование диска сверху вниз. Это займет больше времени, но должно поднять все, что приводит к невозможности извлечения диска.( Шляпная подсказка к сообщению Алека Джейкобсона для дополнительной информации. )
источник
/usr/bin/sudo lsof /Volumes/myDrive
Ты пробовал
$ diskutil unmount /Volumes/Diskname
?Или
$ diskutil unmount force /Volumes/Diskname
?Как указывается в справочной странице :
Если в томе есть пробелы в названии, обязательно избегайте пробелов с помощью
\
, например:Или используйте кавычки, чтобы избежать путаницы.
источник
sudo
команду, которая также может помочь другим.Возможно, ваша проблема вызвана процессом
mds
: Spotlight индексирует ваш диск.У меня есть эта проблема, и я не нашел решение (пока).
источник
Вы можете попробовать приложение donationware « Что меня хранит? », Которое показывает, какой процесс / приложение использует том / папку / файл.
Эта программа сертифицирована разработчиком для Mac OS X 10.6 Snow Leopard, но на странице RoaringApps для этого приложения указано, что она отлично работает на OS X 10.7 Lion и OS X 10.8 Mountain Lion.
источник
Я получил это сообщение, хотя был уверен, что на томе нет открытых файлов . Я проверил это с помощью Why Not Unmount , инструмента с графическим интерфейсом, который может указывать открытые файлы на диске.
В моем случае это был признак того, что файловая система повреждена. Запуск Disk Utility (или, если этого недостаточно, DiskWarrior) решил проблему и снова сделал диск извлекаемым.
источник
И решение для командной строки, и What Keeping Me прекрасно работают.
Напомним, что командная строка в терминале:
Приложение с графическим интерфейсом «Что меня держит» доступно в Hamsoft Engineering .
Скриншоты обоих с одинаковым поиском происходит.
Я предпочитаю командную строку немного, так как она всегда с тобой. С другой стороны, What Keeping Me быстрее и проще в использовании, если он у вас установлен.
источник
ПРИМЕЧАНИЕ:
fseventer
работает до OS X 10.10. Yosemite и страница разработчика http://www.fernlightning.com тем временем вышли в офлайн. Следовательно, ссылки на товары были удалены. Сbrew cask install fseventer
ним все еще может быть доступна на старых версиях MacOS.Существует альтернатива графическому интерфейсу для приложения CLI
lsof
:fseventer
это отличная утилита для мониторинга доступа к файловой системе для различных целей . Он работает с привилегиями суперпользователя (sudo
), поэтому он видит все права на чтение / запись всех смонтированных файловых систем и представляет их в очень четком обзоре.Мой опыт: у меня был том, который постоянно не мог быть извлечен должным образом (как на скриншотах OP), и мне всегда требовалось «принудительное извлечение», иногда даже принудительное физическое отключение (или не рекомендованное!) Может повредить вашу файловую систему (системы) на этом диск) или выключение системы, чтобы обойти этот грубый метод.
Мое исправление: Обобщено: проблема извлечения может быть вызвана поврежденным или устаревшим содержимым файла на томе. Удаление проблемного контента может исправить это навсегда. В деталях:
Определите, к какому файлу осуществляется доступ (с помощью
lsof
илиfseventer
). В моем случае это был файл Classic Mac OS с разветвлением ресурса, который оставался открытым, вероятно, на нем висел какой-то фоновый процесс разбора диска (Spotlight, QuickLook или тому подобное).Резервное копирование этих тревожных данных в файловый архив (который сохраняет (классические) данные, специфичные для Mac). Я просто использовал встроенную функцию Finder "Compress" из его контекстного меню.
Удалите проблемный файл / папку.
sudo rm -R /path/to/troublesome/FileOrFolder
. Это в конечном итоге сработало после неудачных попыток Finder.Попробуйте отключить том снова. Он все еще может потерпеть неудачу, так как фоновые процессы, которые потерпели неудачу, могут все еще быть в неисправимом состоянии .
Запустить снова. Затем попробуйте размонтировать снова. С тех пор Том снова работал нормально. Обычный монтаж, размонтирование, операции чтения / записи. Только когда файл действительно был открыт пользовательским процессом, размонтирование было предотвращено. Совершенно нормальное поведение снова.
источник
Решение Убедитесь, что все программы закрыты. Нажмите значок Apple в левом верхнем углу экрана, затем нажмите «Принудительно выйти». В списке нажмите Finder. Теперь нажмите кнопку «Перезапустить». Затем попробуйте извлечь диск еще раз.
источник
Попробуйте перезапустить Finder. Вот это работает
источник
qlmanage -r
сказал, что это «сброс quicklookd», но файл все равно остается открытымlsof +D /path/to/volume
. Повторный запуск искателя прояснил это, и я был в состоянии извлечь объем.Я перезапустил свой Mac, и это исправило :-)
источник