Hur pausar och återupptar en app eller process i Mac OS X

Behöver du snabbt frigöra någon bearbetningskraft? Du kan göra det enkelt genom att tillfälligt pausa och senare återuppta alla aktiva processer eller program i Mac OS X. Tekniskt är det faktiskt "stoppar" och "fortsätter" en process, men ett stopp ska inte förväxlas med det mer aggressiva dödandet eller tvinga sluta ansökningar och sålunda är terminologin för paus eller stoppning ofta lättare att differentiera de två.

Det betyder att du kan ta en process som förbrukar 100% CPU och tillfälligt pausa det medan du gör något annat, och fortsätt sedan när du är redo att låta den processen göra det. Detta uppnås genom ett kommandorads-trick, och vi kommer att täcka två olika sätt att göra det genom att använda kill-och killall-kommandona med -STOP och -CONT-flaggor. Helst får du lite komfort och kunskap med kommandoraden innan du använder det här, men det är absolut inte nödvändigt.


Innan du börjar, starta Terminal-appen, som finns i / Program / Verktyg / och starta Aktivitetsövervakning, som finns i samma mapp.

Hur tillfälligt stoppa Stanna en process eller en app i Mac OS X

Den grundläggande syntaxen för att suspendera en applikation är följande, där PID är ID för processen du vill pausa:

kill -STOP PID

PID är alltid ett nummer, och varje enskild process som körs på en Mac har ett associerat ID.

Om du är bekant med att hämta process ID, vet du redan vad du ska göra med ovanstående kommandon i sig, men om inte så är det vad vi kommer att täcka nästa och det är därför vi lanserade "Activity Monitor"

Hitta PID & Halting Associated Process

Detta är den mer användarvänliga metoden, med aktivitetsövervakning:

  • Från Aktivitetsövervakning, använd sökfunktionen längst upp till höger och skriv in det programnamn du vill avbryta (t.ex.: iTunes)
  • När matchande processer och / eller app (er) är synliga, leta reda på process ID genom att titta under kolumnen "PID"
  • Lägg till matchande PID till ovan nämnda dödkommando, så här:
  • kill -STOP 3138

  • Notera CPU-aktiviteten för det processen ID är nu 0%, vilket indikerar att processen har pausats (tekniskt stoppad)

Glöm inte PID, eller ännu bättre, stäng inte Terminalfönstret ganska ändå, för att samma PID är hur du kommer att fortsätta programmet för att fortsätta att kunna använda det igen.

Du kommer att hitta effekten av att stoppa en process på CPU-användningen är dramatisk. Det här skärmbildet visar att iTunes konsumerar 70% CPU medan den körs med Visualizer, och samma iTunes-process efter att den har stoppats med -STOP-flaggan. Processen har bokstavligen stoppats i spåren:

De som har mer kunskap om kommandoraden kanske föredrar att använda ps istället för Activity Monitor, vilket är väldigt enkelt:

ps aux |grep Name

Ändra "Namn" till oavsett början av ett process- eller applikationsnamn, leta efter PID, och sätt sedan in det i kill-kommandot:

kill -STOP 92841

Oavsett om du använder Activity Monitor eller ps för att hämta PID, är det irrelevant, så länge du anger rätt process ID när du använder kommandot död.

Observera att försök att använda ett program som har blivit pausat kommer nästan alltid att resultera i att den spinnande stranden bollen av döden minus CPU-användningen. Så om du vill använda appen igen måste du "återuppta" den.

Så här återupptar du en "Stoppad" applikation eller process

Återuppta en stoppad eller pausad applikation är enkel, ändra bara dödkommandot något och använd samma process ID som du hämtat från tidigare steg:

kill -CONT PID

Till exempel, för att återuppta iTunes-appen med PID från tidigare:

kill -CONT 3138

Och nu blir iTunes nyttjande igen, minus den spinnande vänta markören. Tillsammans med detta kommer en återgång till vilken nivå av CPU-konsumtion som existerade tidigare.

Skärmbilden nedan visar detta trick med både kommandona kill och killall:

Att använda -STOP och -CONT med killall är i grunden densamma, men det har vissa begränsningar vad gäller namn, och därmed täckte vi den mer direkta metoden att använda död baserat på PID istället. Oavsett, låt oss visa detta med Killall också.

Stoppar och fortsätter applikationer med appnamn

Om du känner till ansökan eller exakt procesnamn kan du också använda kommandot 'killall' med -STOP flaggan för att stoppa processer. Det här kan vara enklare för appar som är enkla att identifiera med ett namn, men det har begränsningar när det gäller att arbeta med processer med komplexa namn eller för att pausa en specifik process som har dubbla processer med samma namn (som en särskild Chrome-flik eller fönster inblandade i många "Google Chrome Renderer" -processer), och därmed täckte vi PID-metoden först eftersom det är mycket mer direkt.

Det grundläggande stoppet kommandot med killall är följande:

killall -STOP AppName

Är du inte säker på vad appnamnet är? Använd ps och grep:

ps aux |grep AppName

Du kan till exempel greppa för "Chrome" för att hitta alla processer med "Chrome" i namnet:

ps aux|grep Chrome

Eller så kan du bara rikta processen med ett visst appnamn som så:

killall -STOP -c "Google Chrome"

Återuppta processer och appar med killall handlar om att ändra flaggan från -STOP till -CONT, allt annat är detsamma:

killall -CONT AppName

Till exempel, för att återuppta programmet med ett långt namn:

killall -CONT -c "Google Chrome"

Igen fortsätter appen / processen att fungera som vanligt, och CPU-användningen kommer att återgå till var den var innan den pausades.

Appar eller processer utan mellanslag i deras namn kan påverkas direkt av killall utan några ytterligare flaggor eller indikatorer, till exempel iTunes.