Как выгрузить приложения mac os

Обновлено: 04.07.2024

Бывает, что ваш Mac выдает системные ошибки? Бывает, к сожалению. Загруженные приложения никак не реагируют на команды, а в памяти остаются один или несколько невыгруженных процессов. Эти и многие другие проблемные моменты решаются практически в пару нажатий. Настоятельно советую вам прочитать инструкцию, изложенную ниже, – так вы избавите себя от лишних хлопот при дальнейшей эксплуатации Мака.

Принудительное завершение активного приложения с клавиатуры

Для того, чтобы принудительно завершить активную задачу в Mac OS X, необходимо удерживать в течение нескольких секунд четыре кнопки Command + Option + Shift + Escape. Это самый быстрый способ выгрузить зависшее программное обеспечение в Mac OS X.

Окно «Принудительное завершение программ»

Сочетанием клавиш Command + Option + Escape мы добиваемся появления окна «Принудительное завершение приложения», после чего выбираем пункт «Завершить» для закрытия программы. Проделанная операция является более упрощенным вариантом команды в Мониторинге системы, позволяющей высвободить из памяти сразу несколько процессов.

Принудительное завершение программы из Дока

Необходимо выполнить следующую комбинацию: наводим курсор на иконку в Доке и, удерживая на клавиатуре ALT (Option), кликаем мышку. В результате зависшее приложение будет принудительно закрыто, причем без дополнительных подтверждений.

Принудительное завершение приложения из меню Apple

Удерживаем на клавиатуре клавишу Shift и делаем клик мышкой по логотипу Apple в верхней строке меню. Теперь выбираем команду «Завершить «…» принудительно». Данный способ наиболее простой для запоминания. Однако случается так, что компьютер никак не реагирует на нажатие этих клавиш.

Используем Мониторинг системы

Для того, чтобы запустить системную утилиту Мониторинг системы, следует нажать сочетание клавиш Command + Space и ввести в окне Spotlight название программы. После появления диалогового окна находим «зависшее» приложение либо по названию (как правило, задачи, невосприимчивые к воздействию, помечаются красным цветом), либо по идентификационному номеру (ID), а затем нажимаем «Завершить процесс». Данный метод выгрузки из памяти ненужного ПО очень похож на тот, что используется в Windows, только вместо Мониторинга системы там Диспетчер задач.

Используем Терминал для выгрузки процессов

В том случае, если ни один из вышеперечисленных способов вам не помог, самый действенный метод в этой ситуации – воспользоваться командной строкой. Запустите Терминал и введите одну из следующих команд:

К примеру, командой «killall Safari» вы убьете все процессы, связанные с интернет-браузером. А в том случае, если вам известен ID открытого приложения, которое можно найти с помощью команд «ps» или «ps aux», вы можете выгрузить «зависшую» программу следующим способом:

Следует быть крайне аккуратным при совершении действий, направленных на принудительное закрытия программ. Любое завершение процессов может вызывать аварийное прекращение работы операционной системы. А если вы работаете еще и с командной строкой, то это может привести к потере несохраненных данных и сбою системных настроек.

Хуже неожиданно вылетающих приложений лишь те, что перестают реагировать на внешние раздражители в лице отчаянно жмущего на кнопки пользователя, но продолжают функционировать, потребляя ресурсы и забивая оперативную память цифровым мусором. На наше счастье, есть минимум 5 методов борьбы с этой проблемой.

Не загружается или зависает macOS при загрузке Mac

Как закрыть зависшую программу на macOS

Способ №1 – горячие кнопки

Комбинация из ⌘Command + ⌥Option (Alt) + Esc открывает окошко принудительного завершения запущенных программ. Представленный список демонстрирует запущенные в данный момент приложения, пространство справа обычно пустует. Если же в какой-либо строке красуется надпись «не отвечает» – смело кликаем по ней, выделяя зависшую программу. В сложных случаях надписи может и не быть – придется призвать на помощь интуицию и наблюдательность, чтобы вычислить возмутителя спокойствия.

«Принудительное завершение программ» на Mac


Единственная кнопка справа снизу не оставляет альтернатив, все, что мы можем сделать – аварийно закрыть выделенное приложение. Пробуем. Но обычно поступают проще, пока мы остаемся в пределах окна зависшей программы, используем более сложную комбинацию горячих кнопок ⌘Command + ⌥Option (Alt) + ⇧Shift + Esc. Удерживаем их нажатыми три долгие секунды и macOS автоматически закроет данное окно.

Способ №2 – использование меню Apple ()

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

Как перезапустить (перезагрузить) Finder на Mac (macOS): 4 способа

В выпадающем меню, примерно посередине, есть строка «Завершить принудительно», она-то нам и нужна. А далее открывается уже знакомое окошко со списком запущенных в данный момент приложений – что делать, вы уже в курсе, глючный недруг будет оперативно повержен.

Способ №3 – принудительное закрытие программы из Dock

Отыскиваем на панели снизу (в Dock) ярлык зависшей программы, зажимаем кнопку ⌥Option (Alt) и делаем правый клик мышкой – откроется специальная служебная менюшка.

Зависла программа на Mac (macOS): Как принудительно закрыть? 5 способов

Один из пунктов в открывшемся меню – то самое принудительное завершение, дальнейшие шаги очевидны.

Способ №4 – используем Терминал

Переход от оконного интерфейса к консольному, более сложный уровень взаимодействия с macOS на случай, когда проблема оказалась серьезной и предыдущие способы результата не принесли. В каталоге системных утилит располагается программа Терминал – находим ее и запускаем. В открывшемся окошке печатаем команду «top» и жмем клавишу ввода – так мы даем компьютеру указание сформировать и показать краткий отчет о его текущем состоянии. В том числе и отчитаться в том, какие программы запущены и как они себя ведут.

Среди всего многообразия символов нас интересует колонка, озаглавленная «Command», здесь напечатаны названия работающих в данный момент приложений. Требуется вручную отыскать зависшее, при этом стоит учесть, что для длинных наименований используются сокращения – внимательность не помешает.

как принудительно закрыть приложение на Mac OS X через Terminal

Рядом с наименованием искомой программы есть ее цифровой PID (системный идентификатор) – он-то нам и нужен. По старинке переписываем его в блокнот или, в ногу со временем, фотографируем камерой iPhone.

Осуществляется это звучной командой «kill», после которой, через пробел, следует написать PID нарушителя. В данном случае это Viber и 403, поэтому итоговый вариант выглядит как «kill 403».

как принудительно закрыть приложение на Mac OS X через Terminal

Жмем «Enter» – дело сделано, но если система не реагирует, можно ужесточить приказ, набрав такую команду «sudo kill -9 403», должно помочь.

Способ №5 – при помощи утилиты Мониторинг системы

Этот системный инструмент для продвинутых пользователей в данном случае можно воспринимать просто как расширенный вариант менюшки со списком запущенных программ. Иконка утилиты располагается там же, где и Терминал – находим и запускаем программу.

Открывшийся обширный список пугать не должен, отыскиваем в колонке «Имя процесса» наше зависшее приложение и выделяем его кликом мышки.

Зависла программа на Mac (macOS): Как принудительно закрыть? 5 способов

Вверху слева есть кнопка «Завершить процесс» – именно это она и делает, выгружая софт из памяти и освобождая системные ресурсы на Mac.

Начиная с macOS 10.15 Catalina разработчикам требуется заверять свои приложения и утилиты командной строки. Если с приложениями, распространяемыми через App Store все прозрачно, то распространение консольных утилит может вызвать сложности. В данной статье я покажу, как можно доставлять такие утилиты до конечных пользователей (будем проделывать все необходимые операции в терминале, а также автоматизируем эти действия двумя вариантами - через bash-скрипт и с помощью SPM executable).

Создание консольного приложения в Xcode

Для начала создадим проект предельно простой консольной утилиты, которая будет уметь выводить в консоль ascii-графику с грустным котиком:


Даем проекту название:


Можем задать произвольное название для компилированной утилиты (например, если проект назван с заглавной буквы, а утилита должна содержать только строчные буквы):


Нам также потребуется библиотека для удобной обработки команд из терминала Swift Argument Parser:


В файле main.swift подключим библиотеку Argument Parser и создадим главную команду:

Планируется, что нашей утилитой из терминала будут пользоваться так: sadcat show . AsciiCat.self - это как раз и будет субкомандой show . Реализуем субкоманду:

Все - демо-проект готов!

В процессе разработки удобно в схеме таргета передавать аргументы, которые мы планируем в будущем использовать в терминале:



Тогда, выполняя команду Run, можно сразу увидеть результат работы утилиты с переданными аргументами в консоли:


Релизную версию сборки утилиты командной строки можно собрать, выполнив из меню Xcode Product -> Archive :



В окне Window -> Organizer , щелкнув правой кнопкой мыши по архиву, можно посмотреть его расположение:




Путь к папке Products внутри архива нам еще потребуется.

Распространяем свое консольное приложение

Есть несколько возможных путей, как запустить консольную утилиту на стороннем компьютере (конечный пользователь) - вручную переместить утилиту в целевую папку и выдать соответствующие разрешения на ее исполнение, упаковать в заверенный pkg-инсталлятор и через Homebrew.

Путь 1 - Перемещаем скомпилированную утилиту в целевую папку

Итак, пользователь скачал вашу консольную утилиту. Чтобы запускать ее через терминал как sadcat show (т.е. без прописывания полного пути до исполняемой утилиты), ее нужно переместить в папку /usr/local/bin/ :

Также утилиту можно переместить простым перетаскиванием файла в Finder, открыв предварительно целевую папку: open /usr/local/bin/ .

Если сейчас попробовать выполнить команду sadcat show , мы увидим ошибку:

Необходимо выдать разрешение на выполнение утилиты:

Снова пробуем выполнить команду sadcat show , и видим ошибку:


Необходимо еще перейти в настройки macOS в раздел Защита и безопасность и разрешить использование утилиты:


Вот теперь можно пользоваться нашей утилитой из терминала:

Такой способ распространения консольной утилиты уж точно нельзя назвать user-friendly. Поэтому переходим ко второму способу (заверенный pkg-инсталлятор).

Путь 2 - Упаковка в заверенный pkg-инсталлятор

Прежде, чем приступать непосредственно к созданию инсталлятора, нужно создать два сертификата Developer ID Application и Developer ID Installer (если их у вас еще нет), а также Application Specific Password (вы должны быть участником Apple Developer Program):

Создаем два сертификата - Developer ID Application и Developer ID Installer. Их можно создать на портале Apple, или через Xcode: Xcode -> Preferences -> Accounts -> Manage Certificates

Keychain Item Name: Developer-altool

Account Name: электронная почта вашего аккаунта разработчика

Password: только что созданный вами Application Specific Password

Также нужно внести некоторые изменения в Xcode-проект:

Отключаем Automatically manage signing, задаем Bundle Identifier и в Signing Certificate обязательно выбираем Developer ID Application:


Убеждаемся, что значение параметра Hardened Runtime в Build Settings выставлено в Yes. Включение Hardened Runtime приведет к компиляции двоичного файла таким образом, что внешнему процессу будет сложнее инжектировать код. Это обязательное условие для успешного заверения ваших утилит сервером Apple:


Создаем pkg

Утилиту командной строки невозможно заверить, но можно заверить pkg, dmg или zip файл, внутри которых будет содержаться ваша утилита. pkg можно создать командой pkgbuild :

Два пояснения по опциям команды:

--sign - название вашего Developer ID Installer сертификата (можно посмотреть, выполнив в терминале команду % security find-identity -p basic -v)

--root - путь до корневой папки, внутри которой находится дерево каталогов. Это может быть папка Products внутри архива ( Product -> Archive ) или путь до папки, в которую Xcode билдит бинарник при выполнении команды xcodebuild install (расположение папки для второго варианта можно задать в Build Settings в параметре Installation Build Products Location, но, похоже, Xcode 12.5 не воспринимает значение этого параметра)

Заверяем pkg-установщик

У Xcode есть утилита командной строки xcrun altool , которую можно использовать для загрузки pkg-установщика на сервер Apple и последующего заверения:

--username - электронная почта вашего аккаунта разработчика

--password - пароль в связке ключей, который мы недавно создали для Application Specific Password

--asc-provider - это Team ID (десять символов). Если вы являетесь членом только одной команды, вам необязательно указывать его.

После успешного выполнения вышеприведенной команды, нам вернется RequestUUID (не потеряйте его). Сервер Apple продолжит процесс заверения pkg-установщика. Чтобы узнать статус заверения, нужно выполнять периодически команду:

Также статус заверения придет вам на почту.

Чтобы pkg-установщик можно было использовать и на offline-машинах, нужно сделать еще один шаг - прикрепить notarization ticket к pkg-файлу:

Автоматизируем действия (bash)

Скрипт я взял здесь. Он немного отличается от приведенного ниже, так как возможно Xcode 12.5 не учитывает параметр Installation Build Products Location в Build Settings (или проблема в моих кривых руках). Отличие в том, что в моем варианте используется путь до папки Products внутри собранного архива из Xcode:

Автоматизируем действия (swift)

Можно автоматизировать действия не на bash-скрипте, а на swift. Для этого нужно создать либо консольную утилиту в Xcode, либо с помощью исполняемого Swift Package Manager. Покажу основные моменты второго способа. Во-первых, нужно создать папку ( PkgAndNotarize для примера) для проекта (SPM создаст таргет с таким же именем, как и у папки), переместиться в нее в терминале через команду cd и создать исполняемый SPM:

В консоли вы увидите:

Уже сейчас можно сбилдить и запустить сгенерированный проект:

Нам также понадобится библиотека ArgumentParser (которую мы ранее уже использовали). Добавить зависимость нужно в файле Package.swift :

Далее в main.swift создаем команду, которая будет принимать одну опцию - путь до архива ( .xcarchive ):

Остальные переменные для работы утилиты можно положить в текстовый файл ( config ), попытка чтения которого будет производиться из текущей рабочей директории терминала. Конфиг может выглядеть, к примеру, так:

В функции run() реализуем ту же логику, которая была в bash-скрипте (ну и дополнительно парсер файла с конфигурацией). Я не буду полностью показывать код, только приведу функцию, которая позволяет выполнять консольные команды:

Стоит обратить внимание, что launchPath - это полный путь до консольной команды, например /usr/bin/pkgbuild . Полный путь можно посмотреть в терминале, выполнив type для интересующей команды, например:

Функция shell позволяет консольную команду, которая в терминале выглядит, к примеру, как:

в swift записать, как:

После реализации всех команд на swift, можно собрать релизную версию утилиты для автоматизации (билд будет находиться в папке .build ):

И далее переместить скомпилированную утилиту в /usr/local/bin/ .

Все! Можно воспользоваться только что собранной утилитой и заверить pkg-инсталлятор:


Путь 3 - Homebrew

В данной статье этот способ не будет рассмотрен. Но он мне видится как наиболее удобный именно для разработчиков и системных администраторов, но не для простых пользователей.

программы

Ну что же, подошло время научиться чему-то новому! Прочитав эту статью до конца, вы научитесь устанавливать и удалять программы в операционной системе MAC OS X.

На самом деле процесс этот совершенно незамысловатый, но новичку (или пользователю, привыкшему к Windows) необходимо кое-что знать, ведь отличия от Windows здесь кардинальные. На MAC этот процесс намного проще, быстрее и приятней.

Первое, что необходимо сделать для установки программы в MAC OS X, это скачать (взять на флешке у друга, переписать с HDD, и т.п.) саму программу. Распространяются MAC приложения в виде одного файла с расширением .dmg.

Кстати, обязательно прочитайте статью «TOP 11 must have программ для установки на новом MacBook», где я представил список жизненно необходимых программ.

Файлы .dmg

DMG расшифровывается как Disk Image (образ диска) и является форматом для распространения программ и других файлов между компьютерами Apple. Чтобы понять, что из себя представляют .dmg файлы, мысленно представьте CD, USB флешку или внешний жесткий диск.

DMG файл выполняет роль такого же устройства (только виртуального) и содержит внутри всю информацию (документы, фотографии, программы и др).

Для того, чтобы добраться до содержимого .dmg файла, вам необходимо его смонтировать. Не надо пугаться слова «смонтировать», вам всего-лишь необходимо два раза кликнуть по имени файла. Операционная система OS X сама загрузит образ и добавит новый виртуальный диск и иконку в разделе дисков в Finder.

Установка программ на MAC

Ручная установка программ на MAC

На смонтированном диске обычно находится сама программа (полноценная и не требующая никаких установок). Именно этот факт вводит в заблуждение многих новичков.

Внимание! Не надо запускать программу с виртуального диска! Образ диска .dmg служит всего лишь контейнером для транспортировки. Сначала скопируйте приложение в папку Программы на свой жесткий диск. После этого можно демонтировать виртуальный диск (нажав треугольник напротив имени диска) и удалить .dmg файл.

Многие пользователи по ошибке (не знанию) сразу перетягивают программу в Dock. Не надо так делать! Таким образом вы создадите ярлык на запуск, но никак не переместите ее в папку Программы.

В этом случае каждый раз кликая по пиктограмме в доке, .dmg файл будет монтировать образ диска в системе. Ко всему сказанному, образы диска имеют атрибут только для чтения, поэтому ваша программа не сможет сохранить никакую внутреннюю информацию.

А теперь все опробуем на наглядном примере. Допустим, вам необходимо установить Mozilla Firefox. Для этого делаем так:

  1. ШАГ 1 — Скачиваем с официального сайта один единственный файл Firefox28.0.dmg (ищите в Google).
  2. ШАГ 2 — Два раза кликаем по имени файла и монтируем образ диска. Обычно при этом откроется еще одно окошко собственно с самим содержанием. Для вашего удобства очень часто рядом с программой вставляют ярлык на папку Программы.
  3. ШАГ 3 — Перетягиваем приложение (обычно имеет расширение .app) в папку Программы.
  4. ШАГ 4 — Обязательно дождитесь завершения процесса копирования.
  5. ШАГ 5 — Демонтируйте образ (кнопка находится справа от названия диска).
  6. ШАГ 6 — По желанию удалите .dmg файл.

Как вы знаете, инсталлятор приложений Windows может копировать файлы, куда ему взбредется. Поэтому жесткие диски виндузятников очень часто нафаршированны ненужной «файловой шелухой».

В OS X все файлы программы хранятся внутри пакета .app. Точнее, выглядит это как .app файл, а работает как папка. Чтобы добраться до всех файлов программы кликните правой кнопкой мыши на файле .app и выберите пункт «Показать содержимое пакета».

Как вы видите, файлы в OS X хранятся более аккуратно, упорядочено и главное в одном месте. Удаляя программу, вы с 95% вероятностью избавляетесь от всех ненужных вам файлов.

Установка программ из App Store

Самый простой способ установки программ в MAC OS X, о котором можно было и не писать, это использование магазина App Store. На ваш выбор представлено огромное количество разнообразного ПО. Главное знать, за чем пришел.

Установка программ из AppStore сводится к выбору нужного приложения, нажатию кнопки или ценника и последующего подтверждения. Приложения в этом случае автоматически будут скопированы в папку Программы.

Для скачивания приложений из AppStore вам необходимо создать персональную учетную запись Apple ID. Как это сделать, я подробно описал в отдельной статье.

Установка программ на MAC из AppStore

Как удалять программы в macOS

Вы не поверите, но удалять программы в MAC OS X еще проще, чем их устанавливать. Заходим в папку Программы, находим в ней ненужное приложение или игру, кликаем правой кнопкой мыши и выбираем «Переместить в корзину».

Не забывайте периодически очищать содержимое мусорного ведра, т.к. там может скопиться много Гб ненужной информации.

Как удалять программы на MAC

Читайте также: