Come mettere in pausa e riprendere un'app o un processo in Mac OS X

Hai bisogno di liberare velocemente potenza di elaborazione? Puoi farlo facilmente sospendendo temporaneamente e riprendendo in seguito qualsiasi processo o applicazione attivi in ​​Mac OS X. Tecnicamente, questo è in realtà "fermare" e "continuare" un processo, ma un arresto non deve essere confuso con l'uccisione più aggressiva o forza la chiusura delle applicazioni e quindi la terminologia della pausa o dell'arresto è spesso più facile da distinguere tra le due.

Ciò significa che puoi prendere un processo che sta consumando CPU al 100% e sospenderlo temporaneamente mentre fai qualcos'altro, quindi riprenderlo quando sei pronto a lasciare che quel processo faccia la sua parte. Questo risultato è ottenuto attraverso un trucco a linea di comando, e vedremo due diversi modi per farlo usando i comandi kill e killall con i flag -STOP e -CONT. Idealmente avrai un po 'di conforto e conoscenza con la linea di comando prima di usarlo, ma certamente non è necessario.


Prima di iniziare, avvia l'app Terminale, che si trova in / Applicazioni / Utility /, e avvia anche Activity Monitor, che si trova nella stessa cartella.

Come sospendere temporaneamente Arresta un processo o un'applicazione in Mac OS X

La sintassi di base per la sospensione di un'applicazione è la seguente, in cui PID è l'ID del processo che si desidera sospendere:

kill -STOP PID

Il PID è sempre un numero e ogni singolo processo in esecuzione su un Mac ha un ID associato.

Se hai familiarità con il recupero degli ID di processo, allora sai già cosa fare usando solo i comandi sopra, ma se non è così, questo è ciò che tratteremo in seguito, ed è per questo che abbiamo lanciato "Activity Monitor"

Trovare la PID e arrestare il processo associato

Questo è il metodo più user friendly, utilizzando Activity Monitor:

  • Da Monitoraggio attività, usa la funzione Cerca nell'angolo in alto a destra e digita il nome dell'applicazione che desideri sospendere (es: iTunes)
  • Con i processi e / o le app corrispondenti visibili, individuare l'ID del processo guardando sotto la colonna "PID"
  • Aggiungi il PID corrispondente al comando kill di cui sopra, in questo modo:
  • kill -STOP 3138

  • Nota che l'attività della CPU per quell'ID processo è ora allo 0%, a indicare che il processo è stato sospeso (tecnicamente, fermato)

Non dimenticare il PID, o meglio ancora, non chiudere ancora la finestra del Terminale, perché quello stesso PID è come riprendere l'applicazione per continuare a poterlo riutilizzare.

Scoprirai che l'effetto dell'arresto di un processo sull'utilizzo della CPU è drammatico, questa schermata mostra che iTunes consuma il 70% della CPU mentre esegue il suo Visualizer e lo stesso processo di iTunes dopo che è stato fermato con il flag -STOP. Il processo è stato letteralmente bloccato nelle sue tracce:

Quelli con più conoscenze sulla riga di comando potrebbero preferire usare ps piuttosto che Activity Monitor, il che è davvero piuttosto semplice:

ps aux |grep Name

Cambia "Nome" a qualunque sia l'inizio di un processo o il nome di un'applicazione, individua il PID e inseriscilo nel comando kill:

kill -STOP 92841

Se si utilizza Activity Monitor o ps per recuperare il PID è irrilevante, purché si immetta l'ID di processo corretto quando si utilizza il comando kill.

Si noti che il tentativo di utilizzare un'applicazione che è stata messa in pausa provocherà quasi sempre la visualizzazione della palla da spiaggia rotante della morte, meno l'utilizzo della CPU. Quindi, se vuoi usare di nuovo l'app, devi "riprenderla".

Come riprendere un'applicazione o un processo "Stopped"

La ripresa di un'applicazione arrestata o in pausa è semplice, basta modificare leggermente il comando kill e utilizzare lo stesso ID di processo recuperato dai passaggi precedenti:

kill -CONT PID

Ad esempio, per riprendere l'app di iTunes utilizzando il PID di prima:

kill -CONT 3138

E ora iTunes diventa nuovamente utilizzabile, meno il cursore di attesa che gira. Insieme a questo viene un ritorno a qualsiasi livello di consumo della CPU esistito in precedenza.

Lo screenshot qui sotto mostra questo trucco usando entrambi i comandi kill e killall:

Usare -STOP e -CONT con killall è essenzialmente lo stesso, ma ha alcune limitazioni riguardo i nomi, e quindi abbiamo trattato il metodo più diretto di usare kill basato sul PID. Tuttavia, dimostriamolo anche con killall.

Arresto e continue applicazioni per nome app

Se si conosce l'applicazione o il nome esatto del processo, è anche possibile utilizzare il comando 'killall' con il flag -STOP per interrompere i processi. Questo può essere più facile per le app che sono semplici da identificare con un nome, ma presenta dei limiti quando si tratta di lavorare con processi con nomi complessi o per mettere in pausa un processo specifico con processi duplicati con lo stesso nome (come una specifica scheda di Chrome o finestra mescolata con molti processi di "Google Chrome Renderer", e quindi abbiamo coperto l'approccio PID in primo luogo perché è molto più diretto.

Il comando halt di base con killall è il seguente:

killall -STOP AppName

Non sei sicuro di quale sia il nome dell'app? Usa ps e grep:

ps aux |grep AppName

Ad esempio, potresti grep per "Chrome" per trovare tutti i processi con "Chrome" nel nome:

ps aux|grep Chrome

Oppure puoi semplicemente indirizzare il processo con un nome specifico per l'app in questo modo:

killall -STOP -c "Google Chrome"

Riprendere i processi e le app con killall è questione di cambiare il flag da -STOP a -CONT, tutto il resto è lo stesso:

killall -CONT AppName

Ad esempio, per riprendere l'applicazione con un nome lungo:

killall -CONT -c "Google Chrome"

Di nuovo, l'app / processo continuerà a funzionare come al solito e l'utilizzo della CPU tornerà a dove era prima di essere messo in pausa.

App o processi senza spazi nel loro nome possono essere influenzati direttamente da killall senza nessun flag o indicatore aggiuntivo, come iTunes.