Come killare un processo Linux
Hai presente quando, su Windows, si blocca un programma e devi aprire il task manager per forzarne la chiusura? Ecco, questo genere di cose non accadono solo sul sistema operativo di casa Microsoft: accadono anche su sistemi operativi ritenuti generalmente più stabili, come macOS e Linux, ed è proprio di questi che voglio parlarti oggi.
Per essere più precisi, è di Linux che voglio parlarti, e voglio farlo per illustrarti alcune delle migliori tecniche per “killare”, cioè per terminare in maniera forzata, i processi che non rispondono più. Ci sono vari modi per farlo e, visto che solo ora stai muovendo i primi passi in questo straordinario sistema operativo, ti consiglio di provarli tutti. Per completezza di informazione, ti mostrerò prima come provare a chiudere un programma in maniera “pulita”, evitando di alterare per quanto possibile la stabilità del sistema e, soprattutto, provando a salvare gli eventuali file aperti.
Io utilizzerò Ubuntu, una delle distro Linux più diffuse al mondo (per l'esattezza Ubuntu 24.04 LTS), ma le indicazioni presenti nel tutorial valgono per molte altre versioni del sistema operativo del pinguino. Coraggio, non aspettare oltre: prenditi cinque minuti di tempo libero e scopri come killare un processo Linux seguendo le istruzioni che trovi di seguito. Ti assicuro che sarà davvero un gioco da ragazzi!
Indice
Come terminare processo Linux: chiusura pulita
Per iniziare, vediamo come provare a interrompere un processo — o meglio, un programma — in esecuzione su Linux in maniera “pulita”, senza alterare l'albero dei processi sottostanti né provocare la perdita di dati o informazioni non salvate.
Da interfaccia grafica
Se vuoi terminare un processo Linux che sembra apparentemente bloccato, senza però perdere le eventuali modifiche apportate ai file aperti, prova a cliccare sulla finestra della relativa applicazione e a schiacciare, non appenad essa risulta in primo piano, la combinazione di tasti Alt+F4 sulla tastiera.
Laddove fosse soltanto un singolo processo del software a essere problematico, ci sono buone probabilità che, se vi sono file in fase di modifica, ti venga offerta la possibilità di effettuarne al volo il salvataggio, semplicemente rispondendo in maniera affermativa al messaggio che compare sullo schermo.
Talvolta, la pressione dei tasti Alt+F4 non risulta con una richiesta di salvataggio, ma soltanto con la chiusura “pulita” di tutti i processi avviati dal programma in primo piano, oppure la comparsa di un messaggio indicante il fatto che, procedendo, le modifiche apportate agli eventuali file aperti saranno irrimediabilmente perse.
Altra combinazione di tasti funzionante sulla quasi totalità dei programmi e delle distribuzioni Linux è Ctrl+Q: anche in questo caso, a seconda dello stato del software, potresti ritrovarti faccia a faccia con la richiesta di salvataggio dei file aperti, con la notifica di perdita per i cambiamenti non salvati o, semplicemente, potresti assistere alla chiusura silenziosa (ma pulita) del programma in primo piano, e di tutti i processi collegati.
Da linea di comando
Se quello che hai aperto è un programma da linea di comando e vuoi chiuderlo correttamente, senza forzare l'interruzione dei processi che lo compongono, ti consiglio di esaminare attentamente il contenuto della finestra e di individuare eventuali scorciatoie che possano aiutarti a farlo.
Per esempio, la scorciatoia da tastiera per interrompere gli editor di testo pico
e nano
è Ctrl+X ed è indicata, insieme a tutte le altre abbreviazioni, nella parte bassa della schermata. A seguito della pressione dei tasti di cui sopra, il processo collegato all'applicazione dovrebbe chiederti se salvare o meno il file aperto (premendo sui pulsanti S/y oppure n) e, se necessario, di confermare la posizione del file da archiviare.
L'editor di testo vi
, invece, può essere chiuso impartendo l'istruzione :q
e premendo il tasto Invio della tastiera; per visualizzare tutti i comandi disponibili (inclusi quelli per chiusura forzata e salvataggio), invece, bisogna usare l'istruzione :help
.
Se, invece, stai usando un programma di tipo TUI (basato dunque sulle librerie ncurses, che “simulano” il comportamento di una finestra nell'interfaccia testuale), non ti resta che muoverti al suo interno usando le frecce direzionali della tastiera fino a trovare un menu principale (ad es. File); quando l'hai individuato, premi il tasto Invio oppure la barra spaziatrice per aprirlo e scegli l'opzione Quit, Esci, Close o simili, per interromperne il funzionamento in maniera pulita.
Come killare un processo Linux: chiusura forzata
Le hai provate davvero tutte, ma quel programma che continua a bloccarti il computer proprio non vuole saperne di chiudersi? O, ancora, riesci a vedere perfettamente la Scrivania di Linux, ma il funzionamento del sistema operativo è così lento da incoraggiarti quasi al riavvio (e alla perdita di tutto il lavoro)?
In questo caso, potrebbe tornarti utile chiudere forzatamente il processo (o il programma) che tiene in scacco il tuo computer, con la speranza che quest'ultimo possa ritornare al suo funzionamento usuale perdendo meno lavoro possibile. Tieni conto, però, che killare un processo o una famiglia di processi comporta la perdita degli eventuali dati non salvati da parte del programma al quale fanno riferimento, e potrebbe rendere il sistema instabile: non dimenticarlo.
Da interfaccia grafica
Se hai la possibilità di agire dall'interfaccia grafica, ti consiglio di affidarti al Monitor di sistema: di fatto, si tratta di un'utility molto simile al task manager di Windows, inclusa in tantissime distribuzioni Linux, la quale consente di visualizzare lo stato di tutti i processi, i servizi e i demoni attivi sul computer e di killare quelli che non rispondono più.
Per usufruire del software, richiama il menu principale della tua distribuzione (su Ubuntu, devi cliccare sul logo del sistema operativo posto nell'angolo inferiore sinistro della dash), digita le parole monitor di sistema all'interno del campo di ricerca che compare sullo schermo e clicca sul primo risultato ricevuto.
Ora, per prima cosa, ti consiglio di attivare la visualizzazione per tutti i processi attivi: per farlo, clicca sul simbolo ☰ posto in alto e apponi il segno di spunta accanto alla voce Tutti i processi, residente nell'ulteriore pannello che va ad aprirsi.
A questo punto, ti consiglio di cliccare sulla voce di tabella %CPU, per visualizzare i processi che impiegano più CPU, e poi sulla tabella Memoria, per capire quali sono, invece, i processi che impegnano maggiormente la memoria RAM.
Dopo aver individuato quello che, a tuo avviso, è il processo che sta bloccando il computer e che dovrebbe essere chiuso, fai clic destro su di esso e seleziona la voce File aperti, per esaminare l'elenco dei file in uso dal processo: sebbene, molto spesso, si tratta di descrittori ed elementi virtuali, potresti imbatterti in qualche file personale che, sfortunatamente, non verrà salvato.
Adesso, fai nuovamente clic destro sul nome del processo da interrompere e, per tentare la chiusura pulita e inviare il segnale di terminazione (SIGTERM), seleziona la voce Termina processo dal menu che compare e conferma la volontà di procedere, cliccando sul pulsante omonimo.
Qualora non dovesse succedere nulla, puoi provare a forzare la chiusura del processo, inviando il segnale per “killarlo” (SIGKILL): dopo aver fatto clic destro con il mouse sul suo nome, seleziona la voce Uccidi processo dal menu contestuale che compare sullo schermo e dai conferma, facendo clic sul pulsante omonimo.
Se preferisci, puoi effettuare i passaggi di cui sopra anche sfruttando una serie di comode combinazioni da tastiera: dopo aver fatto clic sul nome del processo da interrompere, usa la combinazione di tasti Ctrl+O per esaminare l'elenco dei file aperti, Ctrl+T per inviare il segnale di terminazione e Ctrl+K per inviare il segnale kill.
Qualora avessi la possibilità di aprire una finestra del Terminale, puoi altresì usare il comando xkill: si tratta di un'utility che permette di killare qualsiasi programma in esecuzione (insieme ai relativi processi) semplicemente cliccando con il mouse sulla relativa finestra.
Dunque, per prima cosa, apri il Terminale (se non è già aperto), digita il comando xkill
al suo interno e dai Invio: a seguito di questa operazione, il cursore del mouse dovrebbe trasformarsi in una piccola x e, nella finestra del Terminale, dovrebbe comparire la dicitura Select the window whose client you wish to kill with button 1.
A questo punto, non ti resta che cliccare sul bordo superiore della finestra del programma da interrompere, affinché i relativi processi vengano “killati” in maniera pressoché istantanea.
Da linea di comando
Se poi hai la necessità di operare dalla linea di comando, perché stai operando su un server remoto al quale sei connesso tramite SSH (o altro sistema text-only), oppure perché l'interfaccia grafica del tuo computer è completamente bloccata e hai fatto ricorso alla shell testuale pura (previa pressione della combinazione di tasti Ctrl+Alt+F2, per esempio), sappi che esistono dei comandi che permettono di killare processi e applicazioni in maniera mirata.
Chiaramente, se il processo da interrompere è stato avviato dall'utente root o da altro utente con privilegi elevati, bisogna anteporre il prefisso sudo
al comando da impartire e, quando richiesto, immettere la password amministrativa del computer e dare Invio.
In primo luogo, se conosci esattamente il nome del processo/applicazione che vuoi killare, puoi agire usando tre comandi differenti: kill
, pkill
e killall
.
Il primo dei tre consente di killare un processo indicandone il PID, cioè il codice identificativo riconosciuto dal sistema; per risalirvi, impartisci il comando ps aux | grep [nome]
, avendo cura di inserire al posto di [nome] quello del programma da terminare (ad es. ps aux | grep libreoffice
). Dopo aver individuato il PID del processo, che corrisponde alla seconda informazione che vedi da sinistra (subito dopo il nome dell'utente che lo ha invocato), puoi ucciderlo semplicemente usando il comando kill -9 [PID]
(ad es. kill -9 4818
) oppure sudo kill -9 [PID]
, laddove l'esecutore fosse il root o altro utente con privilegi elevati.
Il comando pkill
, ancora, consente di killare contemporaneamente tutti i processi il cui nome contiene una determinata stringa, anche senza conoscerne l'ID; per farti un esempio, digitando pkill firefox
andrai a terminare istantaneamente tutti i processi il cui nome contiene la parola “firefox”. Per ottenere l'elenco dei processi che contengono una determinata stringa nei rispettivi nomi, digita il comando pgrep -l [nome]
, sostituendo a [nome] la stringa di tuo interesse.
Se, invece, vuoi terminare istantaneamente e forzatamente tutti i processi che rispondono esattamente a un determinato nome, devi usare il comando killall -9 [nome]
.
I comandi kill
e killall
, in particolare, possono essere usati anche per inviare segnali diversi da quello di “kill” (SIGKILL): usando infatti il parametro -15
in luogo di -9
, Linux invierà il segnale di terminazione (SIGTERM) e tenterà di chiudere comunque il programma in maniera pulita, attendendo che tutti i processi figli vengano interrotti. Sfortunatamente, se il processo è bloccante, difficilmente l'invio di SIGTERM è efficace.
Qualora non conoscessi il nome o il PID esatto del processo da interrompere, perché non sai cosa sta bloccando il computer, puoi avvalerti del comando top
: dopo averlo digitato, dovresti veder comparire una tabella testuale contenente lista dei processi attivi sul computer, con uno stile molto simile a quello del Monitor di Sistema.
Una volta individuato il processo bloccante, annota il relativo PID, schiaccia il tasto Q della tastiera per chiudere l'utility top e digita il comando kill -9 [PID]
oppure sudo kill -9 [PID]
, per terminare all'istante il presunto processo bloccante.
Autore
Salvatore Aranzulla
Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.