Hvordan sette på pause & Gjenoppta en app eller prosess i Mac OS X
Trenger du raskt å frigjøre litt prosessorkraft? Du kan enkelt gjøre det ved å midlertidig sette på pause og deretter gjenoppta en aktiv prosess eller applikasjon i Mac OS X. Teknisk sett er dette faktisk å "stoppe" og "fortsette" en prosess, men et stopp må ikke forveksles med det mer aggressive drap eller tvinge avslutning av applikasjoner og dermed er terminologien for pause eller stans ofte lettere å skille mellom de to.
Dette betyr at du kan ta en prosess som bruker 100 % CPU og midlertidig sette den på pause mens du gjør noe annet, og deretter gjenoppta den når du er klar til å la den prosessen gjøre det. Dette oppnås gjennom et kommandolinjetriks, og vi vil dekke to forskjellige måter å gjøre det på ved å bruke kill- og killall-kommandoene med -STOP- og -CONT-flaggene. Ideelt sett vil du ha litt komfort og kunnskap med kommandolinjen før du bruker denne, men det er absolutt ikke nødvendig.
Før du begynner, start Terminal-appen, som du finner i /Applications/Utilities/, og start også Activity Monitor, som er i samme mappe.
Hvordan midlertidig stoppe en prosess eller app i Mac OS X
Den grunnleggende syntaksen for å suspendere en applikasjon er som følger, der PID er IDen til prosessen du ønsker å sette på pause:
kill -STOP PID
PID er alltid et tall, og hver enkelt prosess som kjører på en Mac har en tilknyttet ID.
Hvis du er kjent med å hente prosess-ID-er, så vet du allerede hva du skal gjøre ved å bruke kommandoene ovenfor alene, men hvis ikke, så er det det vi skal dekke neste gang, og det er derfor vi lanserte "Activity" Observere"
Finne PID og stoppe den tilknyttede prosessen
Dette er den mer brukervennlige metoden ved å bruke Activity Monitor:
- Fra Activity Monitor, bruk søkefunksjonen i øvre høyre hjørne og skriv inn applikasjonsnavnet du ønsker å suspendere (f.eks.: iTunes)
- Med samsvarende prosesser og/eller app(er) synlige, finn prosess-ID-en ved å se under «PID»-kolonnen
- Legg til matchende PID til den nevnte kill-kommandoen, slik:
- Vær oppmerksom på at CPU-aktiviteten for den prosess-ID-en nå er på 0 %, noe som indikerer at prosessen er satt på pause (teknisk stoppet)
kill -STOP 3138
Ikke glem PID, eller enda bedre, ikke lukk terminalvinduet ennå, fordi den samme PID er hvordan du vil gjenoppta applikasjonen for å fortsette å kunne bruke den igjen.
Du vil finne at effekten av å stoppe en prosess på CPU-bruk er dramatisk. Dette skjermbildet viser at iTunes bruker 70 % CPU mens den kjører Visualizer, og den samme iTunes-prosessen etter at den har blitt stoppet med - STOPP flagg. Prosessen har bokstavelig t alt blitt stoppet i sine spor:
De med mer kommandolinjekunnskap foretrekker kanskje å bruke ps fremfor Activity Monitor, som egentlig er ganske enkelt:
ps aux |grep Navn
kill -STOPP 92841
Om du bruker Activity Monitor eller ps for å hente PID er irrelevant, så lenge du angir riktig prosess-ID når du bruker kill-kommandoen.
Vær oppmerksom på at å prøve å bruke et program som er satt på pause, vil nesten alltid resultere i å se dødens snurrende strandball, minus CPU-bruken. Så hvis du vil bruke appen igjen, må du "gjenoppta" den.
Hvordan gjenoppta en "stoppet" søknad eller prosess
Å gjenoppta en stoppet eller stoppet applikasjon er enkelt, bare endre kill-kommandoen litt og bruk samme prosess-ID som du hentet fra de forrige trinnene:
kill -CONT PID
For eksempel, for å gjenoppta iTunes-appen ved å bruke PID fra tidligere:
kill -CONT 3138
Og nå blir iTunes brukbart igjen, minus den snurrende ventemarkøren. Sammen med dette kommer en tilbakevending til det nivået av CPU-forbruk som eksisterte tidligere.
Skjermbildet nedenfor viser dette trikset ved å bruke både kill- og killall-kommandoene:
Å bruke -STOP og -CONT med killall er i hovedsak det samme, men det har noen begrensninger angående navn, og derfor dekket vi den mer direkte metoden for å bruke kill basert på PID i stedet. Ikke desto mindre, la oss demonstrere dette med killall også.
Stoppe og fortsette applikasjoner etter appnavn
Hvis du kjenner applikasjonen eller det eksakte prosessnavnet, kan du også bruke 'killall'-kommandoen med -STOP-flagget for å stoppe prosesser.Dette kan være enklere for apper som er enkle å identifisere med et navn, men det har begrensninger når det gjelder å jobbe med prosesser med komplekse navn, eller for å sette en spesifikk prosess på pause som har dupliserte prosesser med samme navn (som en bestemt Chrome-fane eller vindu blandet med mange «Google Chrome Renderer»-prosesser), og derfor dekket vi PID-tilnærmingen først fordi den er mye mer direkte.
Den grunnleggende stoppkommandoen med killall er som følger:
killall -STOP AppName
Er du usikker på hva appnavnet er? Bruk ps og grep:
ps aux |grep AppName
Du kan for eksempel grep for "Chrome" for å finne alle prosesser med "Chrome" i navnet:
ps aux|grep Chrome
Eller du kan bare målrette prosessen med et spesifikt appnavn som f.eks.:
"killall -STOPP -c Google Chrome"
Å gjenoppta prosesser og apper med killall er et spørsmål om å endre flagget fra -STOPP til -CONT, alt annet er det samme:
killall -CONT AppName
For eksempel for å gjenoppta applikasjonen med et langt navn:
"killall -CONT -c Google Chrome"
Igjen vil appen/prosessen fortsette å fungere som vanlig, og CPU-bruken vil gå tilbake til der den var før den ble satt på pause.
Apper eller prosesser uten mellomrom i navnet kan påvirkes direkte av killall uten noen ekstra flagg eller indikatorer, som iTunes.