Elimina tutti i processi che appartengono a un utente con pkill

Sommario:

Anonim

Activity Monitor e il tradizionale strumento da riga di comando "kill" sono in grado di gestire la maggior parte delle esigenze di terminazione dei processi, ma se hai mai avuto bisogno di prendere di mira e terminare tutti i processi appartenenti a un singolo account utente, sai può essere un compito frustrante. Sebbene Activity Monitor ti consenta di ordinare "Altri processi utente" e selezionare più processi, non ti consente di terminare più processi contemporaneamente.Allo stesso modo, i comandi kill e killall standard sono generalmente rivolti a processi specifici e non a ogni singola attività appartenente a uno specifico account utente. È qui che entra in gioco il comando "pkill", che rende semplice terminare istantaneamente ogni singolo processo appartenente a qualsiasi utente tramite il terminale.

Come eliminare tutti i processi da un utente con pkill

La sintassi di base per usare pkill per terminare tutti i processi di un utente è la seguente:

pkill -u nome utente

Verifica che tutti i processi appartenenti a quell'utente siano stati terminati utilizzando il flag -u sul comando ps:

ps -u nome utente

Supponendo che tutto sia andato come previsto, troverai un elenco vuoto segnalato.

pkill non fa distinzione tra maiuscole e minuscole, il che significa che un nome utente di "TestUser" verrà identificato come "testuser".

Se hai intenzione di provare questo su te stesso, sarebbe meglio utilizzare il cambio utente rapido per avviare un nuovo accesso con un altro account utente, oppure utilizzare il server ssh ed eseguirlo su un altro Mac locale. L'uso di pkill sul tuo nome utente attivo causerà la chiusura di tutti i processi, alcuni dei quali si aggiornano istantaneamente, ma molti processi in background non si riavvieranno automaticamente. Ciò porta a tutti i tipi di comportamento peculiare e, a seconda di ciò che hai in esecuzione, non essere terribilmente sorpreso di scoprire che il sistema operativo diventerà così inutilizzabile che dovrai disconnetterti e ricollegarti o persino riavviare se l'utente attivo l'account preso di mira da pkill era root o livello amministrativo.

Il comando pkill è un po' una fiamma ossidrica quando viene puntato sui nomi utente e può essere pensato come un modo per chiudere forzatamente tutto ciò che appartiene a un utente che ha effettuato l'accesso, ma può anche renderlo un comando molto potente strumento per la risoluzione dei problemi e quando si ha a che fare con processi defunti o zombi che sono rimasti intatti nonostante un utente si sia disconnesso.

Abbiamo già discusso del comando pkill per terminare i processi con caratteri jolly e app/processi specifici appartenenti a un singolo utente, e sebbene sia un'aggiunta recente al Mac da Mac OS da Mac OS X Mountain Lion in poi, è nel mondo Linux da un po' di tempo.

Elimina tutti i processi che appartengono a un utente con pkill