Come mettere in pausa & Riprendere un'app o un processo in Mac OS X

Anonim

Hai bisogno di liberare rapidamente un po' di potenza di elaborazione? Puoi farlo facilmente mettendo temporaneamente in pausa e poi riprendendo qualsiasi processo o applicazione attiva in Mac OS X. Tecnicamente, questo è in re altà "fermare" e "continuare" un processo, ma un'interruzione non deve essere confusa con l'uccisione più aggressiva o forzare l'uscita dalle applicazioni e quindi la terminologia di mettere in pausa o arrestare è spesso più facile da differenziare i due.

Ciò significa che puoi prendere un processo che sta consumando il 100% della CPU e metterlo temporaneamente in pausa mentre fai qualcos' altro, quindi riprenderlo quando sei pronto a lasciare che quel processo faccia la sua cosa. Ciò si ottiene tramite un trucco della riga di comando e tratteremo due modi diversi per farlo utilizzando i comandi kill e killall con i flag -STOP e -CONT. Idealmente avrai un po' di familiarità con la riga di comando prima di usarla, ma non è certamente 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 un processo o un'app in Mac OS X

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

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 utilizzando solo i comandi precedenti, ma in caso contrario, questo è ciò di cui parleremo in seguito, ed è per questo che abbiamo lanciato "Attività Tenere sotto controllo"

Trovare il PID e arrestare il processo associato

Questo è il metodo più intuitivo, utilizzando Activity Monitor:

  • Da Activity Monitor, utilizza la funzione Cerca nell'angolo in alto a destra e digita il nome dell'applicazione che desideri sospendere (ad es.: iTunes)
  • Con i processi e/o le app corrispondenti visibili, individua l'ID del processo guardando sotto la colonna "PID"
  • Aggiungi il PID corrispondente al suddetto comando kill, in questo modo:
  • kill -STOP 3138

  • Notare che l'attività della CPU per quell'ID processo è ora allo 0%, a indicare che il processo è stato messo in pausa (tecnicamente, interrotto)

Non dimenticare il PID, o meglio ancora, non chiudere ancora la finestra di Terminale, perché lo stesso PID è come riprenderai l'applicazione per continuare a poterla riutilizzare.

Scoprirai che l'effetto dell'arresto di un processo sull'utilizzo della CPU è drammatico, questa schermata mostra iTunes che consuma il 70% della CPU durante l'esecuzione del suo Visualizer e lo stesso processo di iTunes dopo che è stato interrotto con - STOP bandiera. Il processo è stato letteralmente interrotto:

Coloro che hanno una maggiore conoscenza della riga di comando potrebbero preferire usare ps piuttosto che Activity Monitor, il che è davvero abbastanza semplice:

ps aux |grep Nome

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

kill -STOP 92841

Se utilizzi Activity Monitor o ps per recuperare il PID è irrilevante, purché tu inserisca l'ID processo corretto quando usi il comando kill.

Nota che il tentativo di utilizzare un'applicazione che è stata messa in pausa si tradurrà quasi sempre nella visualizzazione del pallone da spiaggia rotante della morte, meno l'utilizzo della CPU. Pertanto, se desideri utilizzare nuovamente l'app, devi "riprenderla".

Come riprendere un'applicazione o un processo "interrotto"

Riprendere un'applicazione interrotta o in pausa è semplice, basta modificare leggermente il comando kill e utilizzare lo stesso ID di processo che hai recuperato dai passaggi precedenti:

kill -CONT PID

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

kill -CONT 3138

E ora iTunes è di nuovo utilizzabile, senza il cursore di attesa rotante. Insieme a questo arriva un ritorno al livello di consumo della CPU esistente 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 ai nomi, e quindi abbiamo coperto il metodo più diretto di usare kill basato sul PID. Tuttavia, dimostriamolo anche con killall.

Interruzione e continuazione delle applicazioni in base al nome dell'app

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

Il comando h alt di base con killall è il seguente:

killall -STOP AppName

Non sei sicuro del nome dell'app? Usa ps e grep:

ps aux |grep AppName

Ad esempio, puoi usare 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 di app specifico in questo modo:

"

killall -STOP -c Google Chrome"

Riprendere processi e 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"

Ancora una volta, l'app/processo continuerà a funzionare come al solito e l'utilizzo della CPU tornerà al punto in cui era prima di essere messo in pausa.

Le app o i processi senza spazi nel nome possono essere influenzati direttamente da killall senza flag o indicatori aggiuntivi, come iTunes.

Come mettere in pausa & Riprendere un'app o un processo in Mac OS X