Sådan sættes på pause & Genoptag en app eller proces i Mac OS X
Har du brug for hurtigt at frigøre noget processorkraft? Det kan du nemt gøre ved midlertidigt at sætte på pause og derefter genoptage enhver aktiv proces eller applikation i Mac OS X. Teknisk set er dette faktisk at 'stoppe' og 'fortsætte' en proces, men et stop skal ikke forveksles med det mere aggressive drab eller tvinge applikationer til at afslutte, og dermed er terminologien for pause eller standsning ofte lettere at skelne mellem de to.
Dette betyder, at du kan tage en proces, der bruger 100 % CPU og midlertidigt sætte den på pause, mens du gør noget andet, og derefter genoptage den, når du er klar til at lade den proces gøre det. Dette opnås gennem et kommandolinjetrick, og vi vil dække to forskellige måder at gøre det på ved at bruge kill- og killall-kommandoerne med -STOP og -CONT flagene. Ideelt set vil du have en vis komfort og viden med kommandolinjen, før du bruger denne, men det er bestemt ikke nødvendigt.
Før start, start Terminal-appen, som findes i /Applications/Utilities/, og start også Activity Monitor, som er i samme mappe.
Sådan midlertidigt suspenderes Stop en proces eller app i Mac OS X
Den grundlæggende syntaks for at suspendere en applikation er som følger, hvor PID er ID'et for den proces, du ønsker at sætte på pause:
kill -STOP PID
PID er altid et tal, og hver enkelt proces, der kører på en Mac, har et tilknyttet id.
Hvis du er bekendt med at hente proces-id'er, så ved du allerede, hvad du skal gøre ved at bruge ovenstående kommandoer alene, men hvis ikke, så er det det, vi vil dække næste gang, og det er derfor, vi lancerede "Aktivitet Overvåge"
Find PID og standsning af den tilknyttede proces
Dette er den mere brugervenlige metode, der bruger Activity Monitor:
- Fra Activity Monitor, brug søgefunktionen i øverste højre hjørne og skriv det programnavn, du ønsker at suspendere (f.eks.: iTunes)
- Med de matchende processer og/eller app(er) synlige, skal du finde proces-id'et ved at se under "PID"-kolonnen
- Tilføj det matchende PID til den førnævnte kill-kommando, som sådan:
- Bemærk CPU-aktiviteten for dette proces-id er nu på 0 %, hvilket indikerer, at processen er blevet sat på pause (teknisk stoppet)
kill -STOP 3138
Glem ikke PID, eller endnu bedre, luk ikke terminalvinduet helt endnu, fordi den samme PID er hvordan du vil genoptage applikationen for fortsat at kunne bruge den igen.
Du vil opdage, at effekten af at stoppe en proces på CPU-brug er dramatisk. Dette skærmbillede viser, at iTunes bruger 70 % CPU, mens den kører Visualizer, og den samme iTunes-proces, efter at den er blevet stoppet med - STOP flag. Processen er bogstaveligt t alt blevet stoppet i sit spor:
De med mere kommandolinjekendskab foretrækker måske at bruge ps frem for Activity Monitor, hvilket egentlig er ret nemt:
ps aux |grep Navn
kill -STOP 92841
Om du bruger Activity Monitor eller ps til at hente PID'et er irrelevant, så længe du indtaster det korrekte proces-id, når du bruger kill-kommandoen.
Bemærk, at forsøg på at bruge et program, der er sat på pause, næsten altid vil resultere i, at du ser dødens snurrende badebold, minus CPU-bruget. Så hvis du vil bruge appen igen, skal du "genoptage" den.
Sådan genoptager du en "stoppet" ansøgning eller proces
…kill -CONT PID
For eksempel for at genoptage iTunes-appen ved hjælp af PID fra tidligere:
kill -CONT 3138
Og nu bliver iTunes brugbart igen, minus den roterende ventemarkør. Sammen med dette kommer en tilbagevenden til det niveau af CPU-forbrug, der eksisterede tidligere.
Skærmbilledet nedenfor viser dette trick ved at bruge både kill- og killall-kommandoerne:
Brug af -STOP og -CONT med killall er stort set det samme, men det har nogle begrænsninger med hensyn til navne, og derfor dækkede vi den mere direkte metode med at bruge kill baseret på PID i stedet. Ikke desto mindre, lad os også demonstrere dette med killall.
Stop og fortsættelse af applikationer efter appnavn
Hvis du kender applikationen eller det nøjagtige procesnavn, kan du også bruge 'killall'-kommandoen med -STOP-flaget til at stoppe processer.Dette kan være nemmere for apps, der er nemme at identificere med et navn, men det har begrænsninger, når det kommer til at arbejde med processer med komplekse navne, eller for at sætte en specifik proces på pause, der har dublerede processer med samme navn (som en specifik Chrome-fane eller vindue blandet med mange "Google Chrome Renderer"-processer), og derfor dækkede vi PID-tilgangen først, fordi den er meget mere direkte.
Den grundlæggende stopkommando med killall er som følger:
killall -STOP AppName
Ikke sikker på, hvad app-navnet er? Brug ps og grep:
ps aux |grep AppName
Du kunne f.eks. grep efter "Chrome" for at finde alle processer med "Chrome" i navnet:
ps aux|grep Chrome
Eller du kan bare målrette processen med et specifikt appnavn som f.eks.:
"killall -STOP -c Google Chrome"
Genoptagelse af processer og apps med killall er et spørgsmål om at ændre flaget fra -STOP til -CONT, alt andet er det samme:
killall -CONT AppName
For eksempel for at genoptage applikationen med et langt navn:
"killall -CONT -c Google Chrome"
Igen vil appen/processen fortsætte med at fungere som norm alt, og CPU-brug vil vende tilbage til, hvor det var, før det blev sat på pause.
Apps eller processer uden mellemrum i deres navn kan påvirkes direkte af killall uden yderligere flag eller indikatorer, såsom iTunes.