Как да поставите на пауза & Възобновете приложение или процес в Mac OS X
Трябва бързо да освободите малко процесорна мощност? Можете да направите това лесно, като временно спрете и след това възобновите всеки активен процес или приложение в Mac OS X. Технически, това всъщност е „спиране“ и „продължаване“ на процес, но спирането не трябва да се бърка с по-агресивното убиване или принудително излизане от приложения и по този начин терминологията за пауза или спиране често е по-лесна за разграничаване на двете.
Това означава, че можете да вземете процес, който консумира 100% CPU, и временно да го поставите на пауза, докато правите нещо друго, след което да го възобновите, когато сте готови да оставите процеса да свърши работата си. Това се постига чрез трик на командния ред и ние ще разгледаме два различни начина да го направите, като използвате командите kill и killall с флаговете -STOP и -CONT. В идеалния случай ще имате известно удобство и знания с командния ред, преди да използвате това, но със сигурност не е необходимо.
Преди да започнете, стартирайте приложението Terminal, намиращо се в /Applications/Utilities/, и също така стартирайте Activity Monitor, който е в същата папка.
Как да спрете временно да спрете процес или приложение в Mac OS X
Основният синтаксис за спиране на приложение е както следва, където PID е идентификаторът на процеса, който искате да поставите на пауза:
kill -STOP PID
PID винаги е число и всеки отделен процес, работещ на Mac, има свързан идентификатор.
Ако сте запознати с извличането на идентификатори на процеси, тогава вече знаете какво да правите, като използвате само горните команди, но ако не, това е, което ще разгледаме по-нататък и затова стартирахме „Дейност Монитор”
Намиране на PID и спиране на свързания процес
Това е по-удобният за потребителя метод, използващ Монитор на активността:
- От Activity Monitor използвайте функцията Търсене в горния десен ъгъл и въведете името на приложението, което искате да спрете (напр. iTunes)
- Когато съответстващите процеси и/или приложение(а) са видими, намерете идентификатора на процеса, като погледнете под колоната „PID“
- Добавете съответстващия PID към гореспоменатата команда за унищожаване, така:
- Обърнете внимание, че активността на процесора за този идентификатор на процес сега е 0%, което показва, че процесът е поставен на пауза (технически, спрян)
kill -STOP 3138
Не забравяйте PID, или още по-добре, не затваряйте прозореца на терминала още , защото същият този PID е как ще възобновите приложението, за да продължите да можете да го използвате отново.
Ще откриете, че ефектът от спирането на процес върху използването на процесора е драматичен, тази екранна снимка демонстрира как iTunes консумира 70% от процесора, докато работи с Visualizer, и същия процес на iTunes, след като е спрян с - СТОП флаг. Процесът буквално е спрян на място:
Тези с повече познания за командния ред може да предпочетат да използват ps вместо Activity Monitor, което наистина е доста лесно:
ps aux |grep Име
Променете „Име“ на каквото и да е началото на процес или име на приложение, намерете PID и след това го поставете в командата kill:
kill -STOP 92841
Дали използвате Activity Monitor или ps за извличане на PID е без значение, стига да въведете правилния ID на процеса, когато използвате командата kill.
Имайте предвид, че опитът да използвате приложение, което е било на пауза, почти винаги ще доведе до виждане на въртящата се плажна топка на смъртта, минус използването на процесора. Следователно, ако искате да използвате приложението отново, трябва да го „възобновите“.
Как да възобновите „спряно“ приложение или процес
Продължаването на спряно или поставено на пауза приложение е лесно, просто променете леко командата kill и използвайте същия ID на процеса, който сте извлекли от предишните стъпки:
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
Например, можете да използвате 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.