Slik pause og gjenoppta en app eller prosess i Mac OS X

Trenger du raskt å frigjøre litt prosessorkraft? Du kan gjøre det enkelt ved midlertidig å stoppe og deretter gjenoppta en aktiv prosess eller et program i Mac OS X. Teknisk er dette faktisk "stoppe" og "fortsette" en prosess, men et stopp må ikke forveksles med det mer aggressive drapet eller tvinge å avslutte søknader, og dermed er terminologien for å stoppe eller stoppe ofte lettere å skille mellom de to.

Dette betyr at du kan ta en prosess som bruker 100% CPU og midlertidig pause den mens du gjør noe annet, og deretter gjenoppta det når du er klar til å la den prosessen gjøre det er noe. Dette oppnås ved hjelp av et kommandolinjespikk, og vi vil dekke to forskjellige måter å gjøre det ved å bruke kill- og killall-kommandoene med -STOP og -CONT-flaggene. Ideelt sett vil du ha litt trøst og kunnskap med kommandolinjen før du bruker dette, men det er absolutt ikke nødvendig.


Før du begynner, start Terminal-appen, funnet i / Programmer / Verktøy /, og start også Activity Monitor, som er i samme mappe.

Slik suspenderer du midlertidig Stopp en prosess eller en applikasjon i Mac OS X

Den grunnleggende syntaksen for å suspendere en applikasjon er som følger, der PID er IDen til prosessen du vil sette på pause:

kill -STOP PID

PID er alltid et nummer, og hver enkelt prosess som kjører på en Mac har en tilhørende ID.

Hvis du er kjent med å hente prosess-ID-er, vet du allerede hva du skal gjøre ved hjelp av kommandoene ovenfor alene, men hvis ikke, så er det hva vi skal dekke neste, og derfor lanserte vi "Activity Monitor"

Finne PID & Halting Associated Process

Dette er den mer brukervennlige metoden, ved hjelp av Activity Monitor:

  • Fra Aktivitetsovervåkning bruker du Søk-funksjonen øverst til høyre og skriver inn programnavnet du vil suspendere (f.eks .: iTunes)
  • Når de tilsvarende prosessene og / eller appene er synlige, finn prosess-IDen ved å se under "PID" -kolonnen
  • Legg til matchende PID til den ovennevnte drepekommandoen, slik som:
  • kill -STOP 3138

  • Merk CPU-aktiviteten for den prosess-IDen er nå 0%, noe som indikerer at prosessen er stoppet midlertidig (teknisk stoppet)

Ikke glem PID, eller enda bedre, ikke lukk Terminal-vinduet enda, for det samme PID er hvordan du vil gjenoppta applikasjonen for å fortsette å kunne bruke den igjen.

Du finner effekten av å stoppe en prosess på CPU-bruk, er dramatisk. Dette skjermbildet viser at iTunes bruker 70% CPU mens du kjører det Visualizer, og den samme iTunes-prosessen etter at den har blitt stoppet med -STOP-flagget. Prosessen har bokstavelig talt blitt stoppet i sporene sine:

De med mer kommandolinje kunnskap kan foretrekke å bruke ps i stedet for Activity Monitor, som egentlig er ganske enkelt:

ps aux |grep Name

Endre "Navn" til hva startet av en prosess eller et søknadsnavn er, finn PID, og ​​legg det i kill-kommandoen:

kill -STOP 92841

Enten du bruker Activity Monitor eller ps for å hente PID, er det irrelevant, så lenge du oppgir riktig prosess-ID når du bruker kill-kommandoen.

Vær oppmerksom på at det å forsøke å bruke et program som er satt på pause, nesten alltid vil resultere i å se den spinnende stranden ball av død, minus CPU-bruken. Så hvis du vil bruke appen igjen, må du "gjenoppta" den.

Slik gjenopptar du en "Stoppet" applikasjon eller prosess

Å gjenoppta en stoppet eller pauset søknad er enkel, bare endre kommandoen kill og bruk den samme prosess-IDen som du hentet fra de forrige trinnene:

kill -CONT PID

For eksempel, for å gjenoppta iTunes-appen ved hjelp av PID fra tidligere:

kill -CONT 3138

Og nå blir iTunes nytt igjen, minus den spinnende ventemarkøren. Sammen med dette kommer en retur til det nivået av CPU forbruk eksisterte tidligere.

Skjermbildet nedenfor viser dette trikset med både kill- og killall-kommandoene:

Bruke -STOP og -CONT med killall er i det vesentlige det samme, men det har noen begrensninger på navn, og dermed dekket vi den mer direkte metoden for å bruke drep basert på PID i stedet. Ikke desto mindre, la oss demonstrere dette med killall også.

Stoppe og fortsette applikasjoner etter appnavn

Hvis du kjenner programmet eller eksakt prosessnavn, kan du også bruke kommandoen 'killall' med -STOP-flagg for å stoppe prosesser. Dette kan være lettere for apper som er enkle å identifisere etter et navn, men det har begrensninger når det gjelder å jobbe med prosesser med komplekse navn eller for å pause en bestemt prosess som har dupliserte prosesser med samme navn (som en bestemt Chrome-faneblad eller vindu blandet inn med mange "Google Chrome Renderer" -prosesser), og dermed dekket PID-tilnærmingen først fordi den er mye mer direkte.

Den grunnleggende haltkommandoen med killall er som følger:

killall -STOP AppName

Ikke sikker på hva appnavnet er? Bruk ps og grep:

ps aux |grep AppName

For eksempel kan du grep for "Chrome" for å finne alle prosesser med "Chrome" i navnet:

ps aux|grep Chrome

Eller du kan bare målrette prosessen med et bestemt appnavn som slik:

killall -STOP -c "Google Chrome"

Gjenoppta prosesser og programmer med killall handler om å endre flagget fra -STOP til -CONT, alt annet er det samme:

killall -CONT AppName

For eksempel, for å gjenoppta programmet med et langt navn:

killall -CONT -c "Google Chrome"

Igjen, vil appen / prosessen fortsette å fungere som vanlig, og CPU-bruk vil komme tilbake til hvor det var før det ble stoppet.

Apper eller prosesser uten mellomrom i deres navn kan påvirkes direkte av killall uten noen andre flagger eller indikatorer, som for eksempel iTunes.