Sharedfilelistd грузит процессор на 100%. Устраняем проблему с зависанием Finder при загрузке macOS
Впервые столкнулся с проблемой, когда после загрузки macOS на компьютере долгое время невозможно ничего делать. Finder попросту игнорирует любые ваши действия, никак не реагируя на нажатия кнопок или клики мышкой.
Складывается ощущение что компьютер просто завис, но двигающийся курсор мыши и запуск ранее активных приложений (если они не были закрыты до перезагрузки) явно намекают на то, что какая-то жизнь в системе всё-таки присутствует.
Под "долгим временем" я подразумеваю от десяти минут до получаса, после чего всё как-то само собой оживает. Причем всё это время Finder "не отвечает", крутя цветное колёсико, боковое меню со списком ресурсов не отображается, а в мониторинге активности системы можно увидеть некий странный процесс (или демон, как было бы правильнее) sharedfilelistd, занимающий более 100% процессорного времени.
На скрине я представил вывод команды top в терминале, где наглядно видно как sharedfilelistd нагружает процессор. В то же самое время macOS показывает чудеса многозадачности, позволяя работать в браузере или иных программах. Главное, чтобы они не затрагивали Finder.
Там же, в терминале можно прибить sharedfilelistd, дав команду kill [идентификатор_процесса] или killall [имя_процесса]:
kill 1128
killall sharedfilelistd
Какую команду использовать kill или killall особой разницы нет, но и результат будет сиюминуютный. При первом же обращении к Finder, процесс Sharedfilelistd появлялся вновь и снова грузил систему на 100%. Стоит ещё отметить, что у другой учетной записи пользователя, находящейся на том же компьютере, аналогичных проблем не наблюдалось.
Что такое "sharedfilelistd" и для чего он нужен?
Простыми словами, sharedfileslistd некий вспомогательный агент (демон), который управляет списками элементов файловой системы вроде последних открытых документов и содержимого боковой панели Finder.
Данные для работы агента sharedfileslistd хранятся в каталоге ~/Library/Application\ Support/com.apple.sharedfilelist/ и для каждой учетной записи пользователя он свой. По всей видимости, в какой-то момент что-то пошло не так и получили то, что получили.
Собственно, чтобы всё снова ожило и заколосилось как надо, можно попробовать удалить данный каталог следующей командой:
rm -rf ~/Library/Application\ Support/com.apple.sharedfilelist/ && killall sharedfilelistd
Однако тут нас ждет разочарование – система заблокирует это действие, выдав следующую ошибку:
operation not permitted
То есть, система нам сообщила, что операция не разрешена. Ничего не поменяется, даже если попытаться выполнить команду от имени суперпользователя (команда `sudo`).
Лечится это довольно просто. Нужно перейти в «Системные настройки» и на вкладке «Конфиденциальность и безопасность» дать разрешение приложению «Терминал» на доступ к диску:
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.