Ako pozastaviť & Obnoviť aplikáciu alebo proces v systéme Mac OS X
Potrebujete rýchlo uvoľniť časť výpočtového výkonu? Môžete to urobiť jednoducho dočasným pozastavením a následným obnovením akéhokoľvek aktívneho procesu alebo aplikácie v systéme Mac OS X. Technicky ide v skutočnosti o „zastavenie“ a „pokračovanie“ procesu, ale zastavenie si nemožno zamieňať s agresívnejším zabíjaním. alebo vynútiť ukončenie aplikácií, a preto je terminológia pozastavenia alebo zastavenia často ľahšie odlíšiť tieto dva.
To znamená, že môžete vziať proces, ktorý spotrebúva 100 % CPU, a dočasne ho pozastaviť, kým robíte niečo iné, a potom v ňom pokračovať, keď budete pripravení nechať tento proces urobiť svoju vec. Dosahuje sa to pomocou triku príkazového riadka a my sa budeme zaoberať dvoma rôznymi spôsobmi, ako to urobiť pomocou príkazov kill a killall s príznakmi -STOP a -CONT. V ideálnom prípade budete mať pred použitím príkazového riadku určité pohodlie a znalosti, ale určite to nie je potrebné.
Pred začatím spustite aplikáciu Terminál, ktorú nájdete v /Applications/Utilities/, a tiež spustite Monitor aktivity, ktorý sa nachádza v rovnakom priečinku.
Ako dočasne pozastaviť Zastavenie procesu alebo aplikácie v systéme Mac OS X
Základná syntax pre pozastavenie aplikácie je nasledovná, kde PID je ID procesu, ktorý chcete pozastaviť:
zabiť -STOP PID
PID je vždy číslo a každý jeden proces spustený na Macu má priradené ID.
Ak ste oboznámení s načítavaním ID procesov, potom už viete, čo máte robiť iba pomocou vyššie uvedených príkazov, ale ak nie, tým sa budeme zaoberať ďalej, a preto sme spustili „Aktivitu Monitor”
Vyhľadanie PID a zastavenie súvisiaceho procesu
Toto je používateľsky prívetivejšia metóda, ktorá využíva Monitor aktivity:
- V aplikácii Activity Monitor použite funkciu Hľadať v pravom hornom rohu a zadajte názov aplikácie, ktorú chcete pozastaviť (napr.: iTunes)
- Keď sú zhodné procesy a/alebo aplikácie viditeľné, nájdite ID procesu v stĺpci „PID“
- Pridajte zodpovedajúce PID k vyššie uvedenému príkazu kill, napríklad takto:
- Všimnite si, že aktivita CPU pre toto ID procesu je teraz na 0 %, čo znamená, že proces bol pozastavený (technicky, zastavený)
zabiť -STOP 3138
Nezabudnite na PID, alebo ešte lepšie, okno terminálu ešte celkom nezatvárajte, pretože ten istý PID je ako obnovíte aplikáciu, aby ste ju mohli naďalej znova používať.
Vplyv zastavenia procesu na využitie procesora je dramatický, táto snímka obrazovky ukazuje, že iTunes spotrebúva 70 % procesora pri spustení svojho Visualizer a rovnaký proces iTunes po jeho zastavení pomocou - príznak STOP. Proces bol doslova zastavený:
Tí, ktorí majú viac vedomostí o príkazovom riadku, môžu radšej použiť ps ako Activity Monitor, čo je naozaj celkom jednoduché:
ps aux |grep Meno
Zmeňte „Názov“ na akýkoľvek názov začiatku procesu alebo aplikácie, nájdite PID a potom ho vložte do príkazu kill:
zabiť -STOP 92841
To, či na získanie PID použijete Activity Monitor alebo ps, je irelevantné, pokiaľ pri použití príkazu kill zadáte správne ID procesu.
Všimnite si, že pri pokuse o použitie pozastavenej aplikácie takmer vždy uvidíte otáčajúcu sa plážovú guľu bez využitia procesora. Ak teda chcete aplikáciu znova použiť, musíte ju „obnoviť“.
Ako obnoviť „zastavenú“ aplikáciu alebo proces
Obnovenie zastavenej alebo pozastavenej aplikácie je jednoduché, stačí mierne zmeniť príkaz kill a použiť rovnaké ID procesu, ktoré ste získali z predchádzajúcich krokov:
zabiť -CONT PID
Ak chcete napríklad obnoviť aplikáciu iTunes pomocou PID z predchádzajúceho:
zabiť -CONT 3138
A teraz je iTunes opäť použiteľný, mínus otáčajúci sa kurzor čakania. Spolu s tým prichádza návrat k akejkoľvek úrovni spotreby CPU, ktorá existovala predtým.
Snímka obrazovky nižšie ukazuje tento trik pomocou príkazov kill aj killall:
Používanie -STOP a -CONT s killall je v podstate to isté, ale má určité obmedzenia týkajúce sa mien, a preto sme sa venovali priamejšej metóde použitia kill na základe PID. Napriek tomu to ukážme aj na killall.
Zastavenie a pokračovanie aplikácií podľa názvu aplikácie
Ak poznáte aplikáciu alebo presný názov procesu, môžete na zastavenie procesov použiť aj príkaz „killall“ s príznakom -STOP.Môže to byť jednoduchšie pre aplikácie, ktoré sa dajú jednoducho identifikovať podľa názvu, má to však obmedzenia, pokiaľ ide o prácu s procesmi so zložitými názvami, alebo pri pozastavení konkrétneho procesu, ktorý má duplicitné procesy s rovnakým názvom (napríklad konkrétna karta Chrome alebo okno zmiešané s mnohými procesmi „Google Chrome Renderer“), a preto sme najprv pokryli prístup PID, pretože je oveľa priamejší.
Základný príkaz na zastavenie s killall je nasledujúci:
killall -STOP AppName
Neviete, aký je názov aplikácie? Použite ps a grep:
ps aux |grep Názov aplikácie
Napríklad môžete grep pre „Chrome“ nájsť všetky procesy s „Chrome“ v názve:
ps aux|grep Chrome
Alebo môžete jednoducho zacieliť na proces s konkrétnym názvom aplikácie, napríklad:
"killall -STOP -c Google Chrome"
Obnovenie procesov a aplikácií pomocou funkcie killall je záležitosťou zmeny príznaku z -STOP na -CONT, všetko ostatné je rovnaké:
killall -CONT Názov aplikácie
Ak chcete napríklad pokračovať v aplikácii s dlhým názvom:
"killall -CONT -c Google Chrome"
Aplikácia/proces bude opäť fungovať ako zvyčajne a využitie procesora sa vráti tam, kde bolo pred pozastavením.
Aplikácie alebo procesy bez medzier v názve môžu byť ovplyvnené priamo killall bez akýchkoľvek ďalších príznakov alebo indikátorov, ako napríklad iTunes.