Hur man pausar & Återuppta en app eller process i Mac OS X
Behöver du snabbt frigöra lite processorkraft? Du kan göra det enkelt genom att tillfälligt pausa och sedan återuppta alla aktiva processer eller program i Mac OS X. Tekniskt sett är detta faktiskt att "stoppa" och "fortsätta" en process, men ett stopp ska inte förväxlas med det mer aggressiva dödandet eller tvångsavsluta applikationer och därmed är terminologin för att pausa eller stoppa ofta lättare att skilja de två åt.
Detta betyder att du kan ta en process som förbrukar 100 % CPU och tillfälligt pausa den medan du gör något annat, och sedan återuppta den när du är redo att låta den processen göra sin sak. Detta uppnås genom ett kommandoradstrick, och vi kommer att täcka två olika sätt att göra det genom att använda kill- och killall-kommandona med flaggorna -STOP och -CONT. Helst kommer du att ha lite bekvämlighet och kunskap med kommandoraden innan du använder detta, men det är absolut inte nödvändigt.
Innan du börjar, starta Terminal-appen, som finns i /Applications/Utilities/, och starta även Activity Monitor, som finns i samma mapp.
Hur man tillfälligt stoppar en process eller app i Mac OS X
Den grundläggande syntaxen för att stänga av en applikation är följande, där PID är ID för processen du vill pausa:
kill -STOPP PID
PID är alltid ett nummer, och varje enskild process som körs på en Mac har ett tillhörande ID.
Om du är bekant med att hämta process-ID:n, då vet du redan vad du ska göra med hjälp av kommandona ovan, men om inte så är det vad vi kommer att ta upp härnäst, och det är därför vi lanserade "Activity Övervaka"
Hitta PID och stoppa den associerade processen
Detta är den mer användarvänliga metoden, med Activity Monitor:
- Från Activity Monitor, använd sökfunktionen i det övre högra hörnet och skriv det programnamn du vill stänga av (t.ex.: iTunes)
- Med matchande processer och/eller app(ar) synliga, leta reda på process-ID:t genom att titta under "PID"-kolumnen
- Lägg till den matchande PID:en till det tidigare nämnda kill-kommandot, som så:
- Notera att CPU-aktiviteten för detta process-ID nu är 0 %, vilket indikerar att processen har pausats (tekniskt sett stoppad)
kill -STOP 3138
Glöm inte PID, eller ännu bättre, stäng inte terminalfönstret riktigt än, eftersom samma PID är hur du kommer att återuppta applikationen för att fortsätta kunna använda den igen.
Du kommer att upptäcka att effekten av att stoppa en process på CPU-användningen är dramatisk, den här skärmdumpen visar att iTunes förbrukar 70 % CPU när den körs Visualizer, och samma iTunes-process efter att den har stoppats med - STOPP flagga. Processen har bokstavligen stoppats i sina spår:
De med mer kommandoradskunskap kanske föredrar att använda ps istället för Activity Monitor, vilket egentligen är ganska enkelt:
ps aux |grep Namn
kill -STOP 92841
Om du använder Activity Monitor eller ps för att hämta PID är irrelevant, så länge du anger rätt process-ID när du använder kill-kommandot.
Observera att ett försök att använda ett program som har pausats nästan alltid resulterar i att du ser dödens snurrande badboll, minus CPU-användningen. Alltså, om du vill använda appen igen måste du "återuppta" den.
Hur man återupptar en "stoppad" ansökan eller process
Det är enkelt att återuppta en stoppad eller pausad applikation, ändra bara kommandot kill något och använd samma process-ID som du hämtade från de tidigare stegen:
kill -CONT PID
Till exempel, för att återuppta iTunes-appen med PID från tidigare:
kill -CONT 3138
Och nu blir iTunes användbar igen, minus den snurrande väntemarkören. Tillsammans med detta kommer en återgång till vilken nivå av CPU-förbrukning som fanns tidigare.
Skärmdumpen nedan visar detta trick med både kill- och killall-kommandona:
Att använda -STOP och -CONT med killall är i huvudsak samma sak, men det har vissa begränsningar vad gäller namn, och därför täckte vi den mer direkta metoden att använda kill baserat på PID istället. Icke desto mindre, låt oss demonstrera detta med killall också.
Stoppa och fortsätta applikationer efter appnamn
Om du känner till programmet eller det exakta processnamnet kan du också använda kommandot 'killall' med flaggan -STOP för att stoppa processer.Detta kan vara lättare 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 dubbletter av processer med samma namn (som en specifik Chrome-flik eller fönster blandat med många "Google Chrome Renderer"-processer), och därför täckte vi PID-metoden först eftersom den är mycket mer direkt.
Det grundläggande stoppkommandot med killall är följande:
killall -STOPPA AppName
Osäker på vad appen heter? Använd ps och grep:
ps aux |grep AppName
Du kan till exempel grep efter "Chrome" för att hitta alla processer med "Chrome" i namnet:
ps aux|grep Chrome
Eller så kan du bara rikta in processen med ett specifikt appnamn som så:
"killall -STOPP -c Google Chrome"
Att återuppta processer och appar med killall är en fråga om att ändra flaggan från -STOPP till -CONT, allt annat är sig likt:
killall -CONT AppName
Till exempel, för att återuppta applikationen med ett långt namn:
"killall -CONT -c Google Chrome"
Återigen kommer appen/processen att fortsätta att fungera som vanligt och CPU-användningen kommer att återgå till där den var innan den pausades.
Appar eller processer utan mellanslag i namnet kan påverkas direkt av killall utan några ytterligare flaggor eller indikatorer, som iTunes.