In questo tutorial, discuteremo di come trovare e uccidere i processi da un utente specifico. Useremo strumenti come Pkill e Killall.
NOTA: Assicurati di avere accesso a un account amministrativo o all'account root perché gli utenti regolari possono solo uccidere i loro processi, non i processi appartenenti ad altri utenti. D'altra parte, l'utente root può uccidere tutti i processi.
Iniziamo.
Comprensione dei segnali di sistema
Per uccidere un processo specifico, il comando invia un segnale al processo. Per impostazione predefinita, Kill comandi come Killall invia un segnale a termine che interrompe con grazia il processo specificato.
Prima di procedere a uccidere il comando, facciamo una breve panoramica dei segnali di processo.
I tipi comuni di segnali di uccisione includono:
NOTA: Quando si termina i processi, è bene iniziare con il segnale meno aggressivo, come il termine. L'uso di un segnale come il termine consentirà al programma di chiudere correttamente e utilizzare le misure impostate quando il programma riceve il segnale a termine.
Un segnale di uccisione può anche essere utile, soprattutto se un processo ha riscontrato un errore, non riesce a uscire o non risponde al segnale INT.
Per visualizzare tutti i segnali disponibili, usa un comando come un kill -l
Metodo n. 1 - Il comando killall
Il primo comando che puoi usare per uccidere i processi Linux è il comando killall. Per questo, hai bisogno del valore PID o del nome del processo che si desidera terminare.
È possibile utilizzare uno strumento come PGREP per ottenere il PID di un processo specifico.
Per esempio:
$ pgrep bash
2500
Una volta che hai il valore PID del processo, puoi terminare usando il comando Kill come:
$ killall -15 2500
# O
$ killall -15 bash
Il comando sopra invierà un segnale di terminazione grazioso.
Per inviare un segnale di uccisione, usa il numero intero -9 come:
$ kill -9 2500
# O
$ killall -9 bash
Come uccidere tutti i processi utente con killall
Il comando killall consente di interrompere tutti i processi di proprietà di un utente specifico. Per fare questo, usa il flag -u.
Ad esempio, per terminare tutti i processi generati dall'utente di Ubuntu.
$ sudo killall -u ubuntu
ATTENZIONE: A seconda dell'utente specificato nel comando, la terminazione dei processi può causare l'arresto del sistema o interrompere i processi di sistema critico. Pertanto, prima di applicare questo comando, assicurarsi che l'utente in questione non esegua processi che non si desidera terminare.
Metodo n. 2: il comando pkill
Un altro ottimo strumento che puoi utilizzare per terminare i processi Linux è il comando pkill. Questo comando funziona in modo simile a Killall.
Ad esempio, per terminare il processo di bash con pkill, utilizzare il comando:
$ pkill -15 bash
# O
$ pkill -15 2500
Per uccidere tutti i processi di proprietà dell'utente di Ubuntu, possiamo usare il comando:
sudo pkill -9 -u ubuntu
Conclusione
Questo è tutto per questo.
In questa guida, abbiamo rapidamente discusso dei modi per interrompere i processi in Linux e vari tipi di segnali di uccisione. Come visto, uccidere un singolo processo o più processi di proprietà di uno specifico utente Linux è facile.