Come uccidiamo una risorsa/processo in Linux? Ovviamente troviamo il PID della risorsa e poi passiamo il PID al comando kill.
Parlando più precisamente, possiamo trovare il PID di una risorsa (ad esempio un terminale) come segue:
$ ps -A | grep -i terminal 6228 ? 00:00:00 gnome-terminal
Nell’output sopra, il numero ‘6228‘ è il PID del processo (gnome-terminal), utilizzare il comando kill per uccidere il processo come mostrato di seguito.
$ kill 6228
Il comando kill invia un segnale a un processo, il cui PID è passato insieme al comando.
In alternativa, possiamo utilizzare il comando pkill, che uccide un processo in base al nome e ad altri attributi di un processo. Per uccidere un processo il cui nome è terminale, è necessario eseguire:
$ pkill terminal
Nota: La lunghezza del nome del processo in pkill è limitata a 15 caratteri.
pkill sembra più pratico poiché è possibile uccidere un processo senza dover trovare il suo PID. Ma se si desidera avere un controllo migliore sul proprio sistema, niente batte il comando ‘kill‘. Utilizzando kill si avrà una migliore comprensione di quale processo si sta uccidendo.
Abbiamo già coperto una guida dettagliata sui comandi kill, pkill e killall.
Per coloro che stanno eseguendo il server X c’è un altro strumento chiamato xkill che può uccidere un processo dalla sua finestra X senza passare il nome del processo o il suo PID.
L’utilità xkill forza il server X a interrompere le comunicazioni con il suo client, causando la chiusura del client tramite le sue risorse X. xkill, che fa parte delle utilità X11, è molto utile per chiudere le finestre non necessarie.
Supporta opzioni come connettersi a un server X specifico (-display nomedisplay) utilizzando il numero di display quando sono in esecuzione contemporaneamente più server X su un host e eliminare tutti i client (-all, non raccomandato) con finestre di primo livello sullo schermo, nonché considerare il frame (-frame).
Per ottenere un elenco di tutti i client, è possibile eseguire:
$ xlsclients
Output di esempio
' ' /usr/lib/libreoffice/program/soffice deb gnome-shell deb Docky deb google-chrome-stable deb soffice deb gnome-settings-daemon deb gnome-terminal-server
Se non viene passato alcun identificatore di risorsa con id, xkill trasforma il puntatore del mouse in un simbolo speciale, simile a ‘X‘. Basta fare clic sulla finestra che si desidera chiudere e questa interromperà la sua comunicazione con il server o, in altre parole, il programma verrà interrotto.
$ xkill

È importante notare che xkill non garantisce che chiudere la comunicazione interromperà/terminerà con successo il programma. La maggior parte delle applicazioni verrà terminata quando la comunicazione con il server viene interrotta. Tuttavia, alcune potrebbero continuare a essere in esecuzione.
Punti che devono essere menzionati qui:
- Questo strumento funziona solo quando il server X11 è in esecuzione, poiché xkill fa parte dell’utilità X11.
- Non confondere la chiusura e l’eliminazione di una risorsa. Quando si elimina una risorsa, ci si può aspettare che non termini in modo pulito.
- Questo non è un sostituto dell’utilità kill.
Devo andare sulla riga di comando di Linux per invocare xkill?
No, non è necessario eseguire xkill dalla riga di comando di Linux. È possibile impostare una scorciatoia da tastiera e chiamare xkill semplicemente premendo la stessa combinazione di tasti.
Ecco come configurare una scorciatoia da tastiera su un tipico ambiente desktop gnome3.
Vai su Impostazioni -> Seleziona Tastiera, clicca su ‘+’ e aggiungi nome e comando. Clicca sulla nuova voce e premi il tasto che desideri utilizzare come combinazione di tasti di scelta rapida. Io ho usato Ctrl+Alt+Shift+x.


La prossima volta che vuoi eliminare una risorsa X, chiama la combinazione di tasti (Ctrl+Alt+Shift+x), e noterai che il puntatore del mouse si trasforma in x. Clicca sulla risorsa x che desideri eliminare e il gioco è fatto!
Source:
https://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/