Быстрый просмотр держит ваш диск в заложниках
Вы просмотрели несколько файлов, закрыли папку, а диск всё равно не извлекается. Скорее всего, виноват Быстрый просмотр. Разбираемся, что происходит и как это исправить.
Вы скопировали несколько файлов на внешний диск. Закрыли окно Finder. Нажимаете «извлечь» — а macOS отказывает. К диску вы не прикасались уже пять минут. Что же его использует?
Откройте Мониторинг системы и поищите процесс QuickLookUIService. Велика вероятность, что виновник именно он.
Чем занят Быстрый просмотр
Быстрый просмотр — это система, которая отвечает за предпросмотр файлов в macOS. Нажмите пробел на файле в Finder — и появится окно предпросмотра. Откройте папку в режиме столбцов — и увидите миниатюры. Откройте диалог сохранения — и предпросмотр снова тут как тут. Быстрый просмотр повсюду.
Когда вы открываете папку, Быстрый просмотр начинает готовить предпросмотр для файлов, которые вы, по его мнению, можете захотеть увидеть. Он читает файлы, извлекает миниатюры и кэширует их, чтобы потом обращаться к ним быстрее. Для изображений, PDF, видео и документов это означает, что файл открывается и его содержимое обрабатывается.
Проблема в том, что Быстрый просмотр не всегда вовремя освобождает файлы, когда заканчивает с ними работать. Вы давно перешли в другую папку. Вы вообще закрыли окно Finder. Но процесс QuickLookUIService по-прежнему держит открытыми дескрипторы файлов на вашем внешнем диске.
Почему это мешает извлечению
macOS не даёт извлечь диск, пока хоть один процесс держит на нём открытые файлы. Это мера безопасности. Если что-то активно читает или пишет данные, извлечение может повредить файлы или привести к сбою приложения.
В данный момент Быстрый просмотр не читает и не пишет ничего важного. Он просто удерживает дескрипторы файлов, которые ему уже не нужны. Но macOS не различает «активно использует файл» и «забыл закрыть файл». Дескриптор есть дескриптор.
В итоге вы не можете извлечь диск из-за предпросмотров, на которые мельком взглянули пять минут назад.
Как это исправить
Быстрое решение — завершить процесс QuickLookUIService. Откройте Терминал и выполните:
killall QuickLookUIService
Это немедленно завершает процесс. macOS автоматически перезапустит его, как только вам снова понадобится предпросмотр. После этого диск должен извлечься как обычно.
Если хотите действовать точечно, сначала убедитесь, что проблема именно в Быстром просмотре:
sudo lsof /Volumes/YourDriveName | grep -i quicklook
Если в выводе есть QuickLookUIService — вот он, ваш блокировщик.
Можно также сбросить кэш Быстрого просмотра, что иногда помогает при упорных проблемах:
qlmanage -r cache
Эта команда очищает кэш миниатюр и перезапускает систему Быстрого просмотра.
Почему видео — главный нарушитель
Быстрый просмотр особенно цепко держится за видеофайлы. Когда вы предпросматриваете видео, он открывает файл и держит его открытым на случай, если вы захотите перемотать или досмотреть. Даже после закрытия окна предпросмотра дескриптор файла часто остаётся.
Если на внешнем диске есть видеофайлы и вы предпросмотрели хоть один из них (намеренно или случайно, листая папку в режиме столбцов), вероятность того, что Быстрый просмотр блокирует извлечение, очень высока.
В меньшей степени та же проблема касается больших изображений и PDF. По сути — любого типа файлов, для предпросмотра которых Быстрому просмотру приходится выполнять реальную работу.
Как предотвратить проблему
Полностью отключить Быстрый просмотр, не потеряв при этом массу возможностей macOS, по сути нельзя. Но можно свести к минимуму его вмешательство в работу с внешними дисками.
Переключайтесь на режим списка или значков при просмотре внешних дисков. Режим столбцов автоматически запускает Быстрый просмотр для выбранного файла. В режимах списка и значков предпросмотр не создаётся, пока вы не запросите его явно.
Не нажимайте пробел для предпросмотра файлов на внешних дисках. Если нужно проверить файл, откройте его напрямую, а не через Быстрый просмотр.
Дайте системе минуту после просмотра. Со временем Быстрый просмотр сам освободит дескрипторы файлов. Если вы только что закончили просматривать файлы на внешнем диске, подождите 30 секунд, прежде чем извлекать его.
Закрывайте все окна Finder перед извлечением. Даже если окно Finder больше не показывает ваш внешний диск, в нём могут оставаться ссылки Быстрого просмотра от прежнего просмотра.
Ни одно из этих решений нельзя назвать удачным. Это лишь обходные пути для системного процесса, который не умеет толком убирать за собой.
Настоящее решение
Самое неприятное в том, что Быстрый просмотр блокирует извлечение, — у вас нет возможности узнать об этом. macOS сообщает, что диск использует «что-то». Вы закрываете всё, что можете придумать. А диск всё равно не извлекается.
Вам предлагают либо угадать, какой невидимый фоновый процесс виноват, либо лезть в Терминал и расследовать. Для такого рутинного действия, как отключение диска, это просто абсурд.
Ejecta показывает, что именно блокирует извлечение. Когда виноват QuickLookUIService, вы видите это сразу. Один клик — и процесс завершён, а диск свободен. Без догадок, без Терминала и без опасений, что вы вот-вот что-то сломаете.
Быстрый просмотр — полезная функция, которая иногда создаёт лишние проблемы. Вам не должно приходиться становиться Unix-детективом из-за того, что она не умеет вовремя освобождать дескрипторы файлов.
Если вам не хочется каждый раз обращаться к Терминалу, Ejecta точно покажет, какой процесс блокирует ваш диск, — и позволит завершить его одним кликом прямо из строки меню.
Купить — $9.99