Как приостановить & Возобновить приложение или процесс в 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, например:
- Обратите внимание, что активность ЦП для этого идентификатора процесса теперь равна 0%, что указывает на то, что процесс был приостановлен (технически, остановлен)
kill -STOP 3138
Не забудьте PID, или еще лучше, пока не закрывайте окно терминала, потому что тот же самый PID как вы возобновите работу приложения, чтобы продолжить использовать его снова.
Вы обнаружите, что эффект остановки процесса на загрузку ЦП огромен. На этом снимке экрана показано, как iTunes потребляет 70% ЦП во время работы визуализатора, и тот же процесс iTunes после его остановки с помощью - СТОП флаг. Процесс буквально остановлен на месте:
Те, кто хорошо разбирается в командной строке, могут предпочесть использовать ps, а не Activity Monitor, что действительно довольно просто:
ps aux |grep Name
Измените «Имя» на любое имя запуска процесса или приложения, найдите PID и введите его в команду kill:
kill -STOP 92841
Используете ли вы Activity Monitor или ps для получения PID, не имеет значения, если вы вводите правильный идентификатор процесса при использовании команды kill.
Обратите внимание, что попытка использовать приложение, которое было приостановлено, почти всегда приводит к появлению вращающегося пляжного мяча смерти, за вычетом использования ЦП. Таким образом, если вы хотите снова использовать приложение, вы должны «возобновить» его.
Как возобновить «остановленное» приложение или процесс
Возобновление остановленного или приостановленного приложения очень просто, просто немного измените команду kill и используйте тот же идентификатор процесса, который вы получили на предыдущих шагах:
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 AppName
Не знаете, как называется приложение? Используйте ps и grep:
ps aux |grep AppName
Например, вы можете выполнить поиск «Chrome», чтобы найти все процессы, в имени которых есть «Chrome»:
ps aux|grep Chrome
Или вы можете просто настроить процесс с определенным именем приложения, например:
"killall -STOP -c Google Chrome"
Возобновление процессов и приложений с помощью killall — это вопрос изменения флага с -STOP на -CONT, все остальное то же самое:
killall -CONT AppName
Например, чтобы возобновить работу приложения с длинным именем:
"killall -CONT -c Google Chrome"
Опять же, приложение/процесс продолжит работать в обычном режиме, а загрузка ЦП вернется к тому уровню, который был до приостановки.
На приложения или процессы, в именах которых нет пробелов, killall может воздействовать напрямую без каких-либо дополнительных флагов или индикаторов, таких как iTunes.