Hoe een app of proces te onderbreken en hervatten in Mac OS X

Moet u snel wat rekenkracht vrijmaken? Je kunt dat eenvoudig doen door tijdelijk een actief proces of elke toepassing in Mac OS X te pauzeren en later te hervatten. Technisch gezien is dit in feite een proces 'stoppen' en 'doorgaan', maar een stop moet niet worden verward met het agressievere doden of dwingen stoppen met applicaties en dus is de terminologie van pauzeren of stoppen vaak gemakkelijker om de twee te onderscheiden.

Dit betekent dat je een proces kunt nemen dat 100% CPU verbruikt en het tijdelijk pauzeert terwijl je iets anders doet, en dan weer hervatten wanneer je klaar bent om dat proces zijn ding te laten doen. Dit wordt bereikt door een opdrachtregel-truc en we bespreken twee verschillende manieren om dit te doen door de kill- en killall-opdrachten te gebruiken met de -STOP- en -CONT-vlaggen. Idealiter zul je wat comfort en kennis hebben met de commandolijn voordat je dit gebruikt, maar het is zeker niet nodig.


Start, voordat u begint, de Terminal-app, te vinden in / Applications / Utilities /, en start ook Activity Monitor, die zich in dezelfde map bevindt.

Hoe u een proces of app in Mac OS X tijdelijk kunt stopzetten

De basissyntaxis voor het opschorten van een toepassing is als volgt, waarbij PID de ID is van het proces dat u wilt onderbreken:

kill -STOP PID

De PID is altijd een nummer en elk afzonderlijk proces op een Mac heeft een bijbehorende ID.

Als u bekend bent met het ophalen van proces-ID's, weet u al wat u moet doen met alleen de bovenstaande opdrachten, maar zo niet, dan is dat wat we hierna zullen behandelen, en dat is waarom we "Activity Monitor" hebben gelanceerd

De PID vinden en het bijbehorende proces stoppen

Dit is de meer gebruikersvriendelijke methode, gebruikmakend van Activity Monitor:

  • Gebruik vanuit Activity Monitor de zoekfunctie in de rechterbovenhoek en typ de naam van de applicatie die u wilt opschorten (bijvoorbeeld: iTunes)
  • Met de aanpassingsprocessen en / of app (s) zichtbaar, lokaliseer de proces-ID door te kijken onder de kolom "PID"
  • Voeg de overeenkomende PID toe aan het bovengenoemde kill-commando, zoals zo:
  • kill -STOP 3138

  • Merk op dat de CPU-activiteit voor dat proces-ID nu op 0% ligt, wat aangeeft dat het proces is gepauzeerd (technisch, gestopt)

Vergeet de PID niet, of beter nog, sluit het Terminal-venster nog niet helemaal, want met diezelfde PID hervat je de applicatie om deze weer te kunnen gebruiken.

Het effect van het stoppen van een proces op het CPU-gebruik is dramatisch, deze schermafbeelding laat zien dat iTunes 70% CPU verbruikt tijdens het uitvoeren van de Visualizer en hetzelfde iTunes-proces nadat het is gestopt met de -STOP-vlag. Het proces is letterlijk gestopt in zijn tracks:

Degenen met meer kennis van de commandoregel geven misschien de voorkeur aan ps in plaats van Activity Monitor, wat eigenlijk vrij eenvoudig is:

ps aux |grep Name

Verander "Naam" in wat het begin van een proces of applicatie naam is, zoek de PID, en zet die dan in het kill commando:

kill -STOP 92841

Of u Activity Monitor of ps gebruikt om de PID op te halen, is niet relevant, zolang u de juiste proces-ID invoert wanneer u de opdracht kill gebruikt.

Merk op dat wanneer je een toepassing probeert te gebruiken die gepauzeerd is, dit bijna altijd resulteert in het zien van de draaiende strandbal van de dood, minus het CPU-gebruik. Als u de app opnieuw wilt gebruiken, moet u deze dus "hervatten".

Hoe een "gestopte" applicatie of proces hervatten

Het hervatten van een gestopte of gepauzeerde toepassing is eenvoudig, verander eenvoudig de opdracht kill en gebruik dezelfde proces-ID die u uit de vorige stappen hebt opgehaald:

kill -CONT PID

Bijvoorbeeld om de iTunes-app te hervatten met behulp van de PID van vroeger:

kill -CONT 3138

En nu wordt iTunes weer bruikbaar, minus de draaiende wachtcursor. Daarnaast komt er een terugkeer naar het niveau van CPU-verbruik dat eerder bestond.

De onderstaande schermafbeelding demonstreert deze truc met behulp van de commando's kill en killall:

Het gebruik van -STOP en -CONT met killall is in wezen hetzelfde, maar het heeft enkele beperkingen ten aanzien van namen, en daarom hebben we de meer directe methode om kill te gebruiken op basis van PID behandeld. Niettemin laten we dit ook demonstreren met killall.

Toepassingen stoppen en doorzetten met een app-naam

Als u de applicatie of de exacte procesnaam kent, kunt u ook de opdracht 'killall' met de -STOP-vlag gebruiken om processen te stoppen. Dit kan eenvoudiger zijn voor apps die eenvoudig te identificeren zijn met een naam, maar het heeft beperkingen als het gaat om het werken met processen met complexe namen of voor het onderbreken van een specifiek proces met dubbele processen met dezelfde naam (zoals een specifiek Chrome-tabblad of venster vermengd met veel "Google Chrome Renderer" -processen), en daarom hebben we eerst de PID-aanpak behandeld omdat het veel directer is.

De basale stopopdracht met killall is als volgt:

killall -STOP AppName

Weet u niet zeker wat de appnaam is? Gebruik ps en grep:

ps aux |grep AppName

U kunt bijvoorbeeld grep for "Chrome" gebruiken om alle processen met "Chrome" in de naam te vinden:

ps aux|grep Chrome

Of u kunt het proces eenvoudigweg targeten met een specifieke app-naam zoals:

killall -STOP -c "Google Chrome"

Het hervatten van processen en apps met killall is een kwestie van het veranderen van de vlag van -STOP naar -CONT, al het andere is hetzelfde:

killall -CONT AppName

Om bijvoorbeeld de toepassing met een lange naam te hervatten:

killall -CONT -c "Google Chrome"

Nogmaals, de app / het proces zal gewoon blijven werken en het CPU-gebruik zal terugkeren naar waar het was voordat het werd gepauzeerd.

Apps of processen zonder spaties in hun naam kunnen direct worden beïnvloed door killall zonder aanvullende vlaggen of indicatoren, zoals iTunes.