Sådan stopper og genoptages en app eller proces i Mac OS X

Behøver du hurtigt at frigøre noget forarbejdningskraft? Du kan gøre det nemt ved midlertidigt at standse og derefter genoptage en aktiv proces eller et program i Mac OS X. Teknisk er dette faktisk 'stoppet' og 'fortsætter' en proces, men et stop må ikke forveksles med det mere aggressive drab eller tvinge afslutte ansøgninger, og dermed er terminologien for pauser eller standsning ofte lettere at differentiere de to.

Det betyder, at du kan tage en proces, der bruger 100% CPU og midlertidigt pause det, mens du gør noget andet, og genoptag det, når du er klar til at lade den proces gøre det er noget. Dette opnås ved hjælp af et kommandolinjestick, og vi dækker to forskellige måder at gøre ved at bruge kill-killall-kommandoerne med -STOP og -CONT-flag. Ideelt set vil du have noget trøst og viden med kommandolinjen, før du bruger dette, men det er bestemt ikke nødvendigt.


Før du begynder, skal du starte Terminal-appen, der findes i / Programmer / Hjælpeprogrammer /, og også starte Activity Monitor, som er i samme mappe.

Sådan suspenderes midlertidigt Stop en proces eller en applikation i Mac OS X

Den grundlæggende syntaks for at suspendere en applikation er som følger, hvor PID er ID'en af ​​den proces, du vil pause:

kill -STOP PID

PID'en er altid et nummer, 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 hjælp af ovennævnte kommandoer alene, men hvis ikke, så er det hvad vi dækker næste, og derfor introducerede vi "Activity Monitor"

Finde PID & Halting Associated Process

Dette er den mere brugervenlige metode, der bruger Activity Monitor:

  • Fra Aktivitetsovervågning skal du bruge Søg-funktionen i øverste højre hjørne og skrive det programnavn, du vil suspendere (f.eks .: iTunes)
  • Når de tilsvarende processer og / eller app (er) er synlige, skal du finde proces-id'et ved at se under kolonnen "PID"
  • Tilføj den tilsvarende PID til ovennævnte kill-kommando, som sådan:
  • kill -STOP 3138

  • Bemærk CPU-aktiviteten for det proces-ID er nu på 0%, hvilket indikerer, at processen er blevet standset (teknisk stoppet)

Glem ikke PID, eller endnu bedre, Luk ikke Terminal vinduet endnu, fordi den samme PID er, hvordan du genoptager applikationen for fortsat at kunne bruge den igen.

Du vil finde effekten af ​​at stoppe en proces på CPU-brugen er dramatisk. Dette skærmbillede viser, at iTunes bruger 70% CPU, mens du kører det Visualizer, og den samme iTunes-proces, efter at den er standset med -STOP-flag. Processen er bogstaveligt talt blevet stoppet i sine spor:

Dem med mere kommandolinjen viden foretrækker måske at bruge ps i stedet for Activity Monitor, hvilket er rigtig ret nemt:

ps aux |grep Name

Skift "Navn" til uanset starten af ​​en proces eller et ansøgningsnavn er, find PID, og ​​sæt det så i kommandoen kill:

kill -STOP 92841

Uanset om du bruger Activity Monitor eller ps til at hente PID, er det irrelevant, så længe du indtaster det korrekte proces-id, når du bruger kommandoen Kill.

Bemærk, at forsøger at bruge et program, der er blevet standset midlertidigt, vil næsten altid resultere i at se den spinde strandkugle i døden, minus CPU-brugen. Så hvis du vil bruge appen igen, skal du "genoptage" den.

Sådan genoptages en "stoppet" applikation eller proces

Genoptagelse af et stoppet eller pauset program er simpelt, ændrer du blot kommandoen Kill, og bruger det samme proces-id, som du hentede fra de foregående trin:

kill -CONT PID

For eksempel at genoptage iTunes-appen ved hjælp af PID fra tidligere:

kill -CONT 3138

Og nu bliver iTunes brugt igen, minus den spinnende ventemarkør. Sammen med dette kommer et tilbagevenden til det niveau af CPU forbrug der eksisterede tidligere.

Skærmbilledet nedenfor viser dette trick ved hjælp af både kill og killall kommandoer:

Brug af -STOP og -CONT med killall er stort set det samme, men det har nogle begrænsninger for navne, og derfor dækkede vi den mere direkte metode til at bruge kill baseret på PID i stedet. Ikke desto mindre, lad os demonstrere dette med killall også.

Stop og fortsættelse af applikationer med applikationsnavn

Hvis du kender ansøgningen eller det eksakte procesnavn, kan du også bruge kommandoen 'killall' med -STOP flag for at stoppe processer. Dette kan være nemmere for apps, der er enkle at identificere ved et navn, men det har begrænsninger, når det kommer til at arbejde med processer med komplekse navne eller for at standse en bestemt proces, der har dobbelte processer med samme navn (som en bestemt Chrome-faneblad eller vindue blandet med mange "Google Chrome Renderer" -processer), og derfor dækkede vi først PID-tilgangen, fordi den er meget mere direkte.

Basic stop kommandoen med killall er som følger:

killall -STOP AppName

Ikke sikker på, hvad appnavnet er? Brug ps og grep:

ps aux |grep AppName

For eksempel kan du grep for "Chrome" for at finde alle processer med "Chrome" i navnet:

ps aux|grep Chrome

Eller du kan bare målrette processen med et bestemt appnavn som sådan:

killall -STOP -c "Google Chrome"

Genoptagelse af processer og apps med killall er et spørgsmål om at ændre flagget fra -STOP til -CONT, alt andet er det samme:

killall -CONT AppName

For eksempel at genoptage programmet med et langt navn:

killall -CONT -c "Google Chrome"

Igen vil appen / processen fortsætte med at fungere som normalt, og CPU-brugen vender tilbage til, hvor den var, før den blev standset.

Apps eller processer uden mellemrum i deres navn kan påvirkes direkte af killall uden yderligere flag eller indikatorer, som f.eks. ITunes.