Замена What's Keeping Me для macOS Sequoia
Ищете замену What's Keeping Me, которая работает в современной macOS? Рассказываем, как узнать, что блокирует ваш диск.
Если вы пользуетесь Mac уже давно, вы можете помнить приложение под названием What’s Keeping Me. Оно решало одну конкретную задачу: когда macOS отказывалась извлекать диск или очищать корзину, потому что её «что-то» использует, What’s Keeping Me говорило, что именно это за «что-то».
Приложение было простым и хорошо делало своё дело. А потом перестало работать.
Что случилось с What’s Keeping Me
What’s Keeping Me в последний раз обновлялось в августе 2014 года. Разработчик, HAMSoft Engineering, прекратил его поддержку, а сайт разработчика со временем и вовсе исчез. К тому моменту, когда macOS начала требовать современную архитектуру приложений и функции безопасности, What’s Keeping Me уже давно было заброшено.
Приложение проработало больше десяти лет, но программное устаревание в конце концов взяло своё. Без обновлений под новые версии macOS, требования безопасности и Apple Silicon оно стало ненадёжным, а в итоге и непригодным для большинства пользователей.
Это оставило пробел, который на удивление трудно заполнить. В macOS до сих пор та же проблема с извлечением, что и в 2010 году. Вы всё так же получаете расплывчатые сообщения об ошибках про программы, использующие ваш диск, без всякого намёка на то, что это за программы. Apple так и не встроила такую диагностику в систему.
Обходной путь через Терминал
Опытные пользователи закрывали пробел с помощью lsof — команды Unix, выводящей список открытых файлов. Если ваш диск называется «External», вы бы выполнили:
sudo lsof /Volumes/External
Это показывает каждый процесс с открытыми файлами на этом томе. Дальше можно определить виновника и либо завершить приложение обычным образом, либо использовать kill, чтобы завершить процесс.
Это работает, но удобным такой способ не назовёшь. Нужно понимать Терминал, разбирать технический вывод и знать разницу между процессами, которые можно безопасно завершить, и теми, что трогать не стоит. Для такого рутинного действия, как отключение диска, это многовато.
Мониторинг системы: близко, но не то
Мониторинг системы умеет показывать, какие файлы открыты у процесса, но логика тут обратная. Нужно уже знать, какой процесс проверять. Если вы пытаетесь ответить на вопрос «что использует мой диск», Мониторинг системы заставляет сначала гадать, а потом уже проверять.
Можно было бы перебрать каждый запущенный процесс по одному, пока не найдётся тот, что обращается к диску, но это настолько утомительно, что большинство людей просто сдаётся и извлекает диск принудительно (или перезагружает Mac).
Дисковая утилита тоже не помогает
Некоторые при неудачном обычном извлечении пробуют Дисковую утилиту. Она умеет принудительно размонтировать тома, но по сути делает то же самое, что и принудительное извлечение из Finder. Она не говорит, что блокировало диск. Она просто игнорирует блокировку и надеется на лучшее.
Принудительное извлечение иногда сходит с рук — особенно если блокирующий процесс только читал файлы. Но если что-то активно писало на диск, принудительное извлечение может повредить данные. Не зная, что происходит на самом деле, вы играете в рулетку.
Современная замена
Подробное сравнение возможностей и пошаговую инструкцию по настройке можно найти на нашей странице о замене What’s Keeping Me.
Ejecta создавалось как раз для того, чтобы заполнить пробел, оставшийся после What’s Keeping Me. Приложение живёт в строке меню, показывает состояние всех подключённых дисков, определяет, какие процессы блокируют извлечение, и позволяет завершить их прямо из него.
Ключевое отличие от подхода с Терминалом в том, что Ejecta выполняет диагностику автоматически. Не нужно запоминать синтаксис команд или интерпретировать сырой вывод. Нажмите на заблокированный диск, посмотрите, что его блокирует, нажмите, чтобы завершить этот процесс. Вот и всё.
Ejecta также знает, какие процессы безопасно завершать, а какие относятся к системному уровню и требуют более бережного обращения. Например, когда Spotlight индексирует ваш диск, Ejecta может отключить индексирование для этого тома, а не просто завершить процесс mds, оставив его в странном состоянии.
Сравнение возможностей
What’s Keeping Me (пока работало) показывало блокирующие процессы и позволяло их завершить. Именно это делает и Ejecta — плюс кое-что, чего What’s Keeping Me не умело:
Нативная поддержка Apple Silicon означает, что приложение эффективно работает на Mac с чипами M1, M2, M3 и M4. What’s Keeping Me этого обновления так и не получило.
Интеграция со строкой меню показывает состояние дисков с одного взгляда, без запуска отдельного приложения. Вы видите, какие диски безопасно извлекать, ещё до того как попробуете это сделать.
Понимание системных процессов означает, что Ejecta разумно обращается со Spotlight, Time Machine и другими службами macOS, а не просто предлагает кнопку «завершить».
Проблема извлечения никуда не денется
С тех пор как What’s Keeping Me активно разрабатывалось, прошло больше десяти лет, а основная проблема осталась ровно той же. macOS по-прежнему выдаёт бесполезные сообщения об ошибках при попытке извлечь диск. Apple по-прежнему не встроила в систему никаких инструментов диагностики. Сторонние решения по-прежнему остаются единственным способом получить прямой ответ на вопрос, что использует ваш диск.
Если вы всё ещё рефлекторно тянетесь к Терминалу каждый раз, когда не получается извлечь диск, или просто извлекаете принудительно в надежде, что ничего не сломается, — теперь есть вариант получше. Того самого приложения из 2010 года больше нет, но его функциональность вполне может жить дальше.
Если вам не хочется каждый раз обращаться к Терминалу, Ejecta точно покажет, какой процесс блокирует ваш диск, — и позволит завершить его одним кликом прямо из строки меню.
Купить — $9.99