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