▷ Как приостановить и возобновить приложение или процесс в Mac OS X

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

Это означает, что вы можете взять процесс, который потребляет 100% ресурсов ЦП, и временно прервать его, пока вы делаете что-то еще, а затем возобновить его, когда вы будете готовы позволить этому процессу выполнять свою работу. Для этого мы используем трюк с командной строкой и рассмотрим два разных способа сделать это, используя команды kill и killall с флагами -STOP и -CONT. В идеале у вас будет некоторое свободное владение командной строкой перед ее использованием, но это, конечно, не обязательно.

Прежде чем начать, запустите приложение «Терминал», которое находится в / Applications / Utilities /, а также запустите Activity Monitor, который находится в той же папке.

Как временно приостановить завершение работы процесса или приложения в Mac OS X

Базовый синтаксис для приостановки запроса выглядит следующим образом, где PID – это идентификатор процесса, который вы хотите приостановить:

kill -STOP PID

PID всегда является числом, и каждый процесс, запущенный на Mac, имеет связанный идентификатор.

Если вы знакомы с получением идентификаторов процессов, вы уже знаете, что делать, используя только приведенные выше команды, но если нет, то это то, что мы рассмотрим дальше, и именно поэтому мы запустили «Монитор активности»

Найдите PID и остановите связанный процесс

Это наиболее удобный метод, в котором используется Activity Monitor:

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

  • Когда соответствующие процессы и / или приложения видны, найдите идентификатор процесса, просмотрев столбец «PID».

  • Добавьте PID, соответствующий вышеупомянутой команде kill, например:

  • kill -STOP 3138

  • Обратите внимание, что активность ЦП для этого идентификатора процесса теперь составляет 0%, что указывает на то, что процесс был приостановлен (технически остановлен).

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

Вы обнаружите, что остановка процесса сильно влияет на использование ЦП. На этом снимке экрана показано, что iTunes потребляет 70% ЦП при использовании средства просмотра и тот же процесс iTunes после остановки с помощью флага -STOP. Процесс буквально остановился:

Те, кто более знаком с командной строкой, могут предпочесть использовать ps, а не Activity Monitor, что на самом деле довольно просто:

ps aux | grep Имя

Измените «Имя» на имя запуска процесса или приложения, найдите PID, затем введите его в команду kill:

kill -STOP 92841

Неважно, используете ли вы Activity Monitor или ps для получения PID, если вы вводите правильный идентификатор процесса при использовании команды shutdown.

Обратите внимание, что при попытке использовать приложение, которое было приостановлено, вы почти всегда увидите вращающийся Beach Ball of Death за вычетом использования ЦП. Так что, если вы хотите снова использовать приложение, вам нужно «возобновить» его.

Как возобновить запрос или “остановленный” процесс

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

kill -CONT PID

Например, чтобы возобновить работу приложения iTunes с использованием PID, полученного ранее:

kill -CONT 3138

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

На скриншоте ниже показан этот трюк с использованием команд kill и killall:

Использование -STOP и -CONT с killall по сути одно и то же, но у него есть некоторые ограничения, когда дело доходит до имен, поэтому мы рассмотрели более прямой метод использования kill на основе PID. Тем не менее, давайте продемонстрируем это и с помощью killall.

Остановить и продолжить запросы по имени приложения

Если вы знаете точное имя приложения или процесса, вы также можете использовать команду «killall» с флагом -STOP, чтобы убить процессы. Это может быть проще для приложений, которые легко идентифицировать по имени, но у него есть ограничения, когда дело доходит до работы с процессами со сложными именами или приостановки определенного процесса, у которого есть процессы. Дубликат с тем же именем (например, конкретная вкладка Chrome или окно, смешанное со многими процессами «Google Chrome Renderer»), поэтому мы сначала рассмотрели подход PID, потому что он намного проще.

Основная команда для остановки с помощью killall следующая:

killall -STOP имя приложения

Не знаете, как называется приложение? Используйте ps и grep:

ps aux | grep имя приложения

Например, вы можете использовать команду grep для «Chrome», чтобы найти все процессы, имя которых содержит «Chrome»:

ps aux | grep Chrome

Или вы можете просто настроить таргетинг на процесс с помощью определенного имени приложения, например:

killall -STOP -c «Google Chrome»

Чтобы возобновить процессы и приложения с помощью killall, просто измените флаг с -STOP на -CONT, все остальное то же самое:

killall -CONT AppName

Например, чтобы возобновить запрос с длинным именем:

killall -CONT -c «Google Chrome»

Опять же, приложение / процесс продолжит работу в обычном режиме, а использование ЦП вернется к тому, что было до его приостановки.

Приложения или процессы, имя которых не включает пробел, могут быть напрямую поражены killall без каких-либо дополнительных флагов или индикаторов, как в случае с iTunes.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *