Come chiudere programmi bloccati in Linux

by Jessica Lambiase on

Quando si lavora al computer l’incubo costante è quello di ritrovarsi con l’interfaccia grafica bloccata e senza la possibilità di salvare i documenti aperti. Malauguratamente questo può capitare su tutti i sistemi operativi, tuttavia (almeno in certe occasioni) è possibile chiudere programmi bloccati in Linux con interfaccia grafica senza bisogno di riavviare il sistema né di chiudere e riaprire il server grafico, eventualità nelle quali andrebbero perse tutte le modifiche ai documenti aperti e non salvati. In caso di blocco del server grafico (meglio nota come “desktop congelato”), in Linux, è possibile fare ricorso al piccolo ma efficiente Xkill.

XKill è un’applicazione che permette di disconnettere qualsiasi applicazione dal server grafico provocandone un’apparente chiusura – apparente, in quanto potrebbe capitare che l’applicazione stessa resti comunque aperta e in background, anche se non più visibile in X.

Nel 90% dei casi utilizzare XKill su un’applicazione bloccata permette di riprendere la normale attività del desktop. Vediamo insieme come chiudere programmi bloccati in Linux con Xkill e, successivamente, utilizzando i magic keys direttamente nel kernel.

Chiudere programmi bloccati in Linux – Xkill

Se il desktop utilizzato lo prevede e qualora il server grafico ci permetta ancora di farlo, è possibile invocare Xkill tramite il “runner” di sistema (il classico “esegui applicazione”). Per procedere bisogna premere la combinazione di tasti ALT+F2, scrivere al suo interno

xkill

e dare invio.  A questo punto il cursore del mouse sarà rilasciato dal server X e, se bloccato, ritornerà attivo cambiando però aspetto: la freccetta si trasformerà in una specie di “X” o addirittura in un teschio. Non bisognerà fare altro che cliccare su qualsiasi parte della finestra appartenente all’applicazione bloccata per disconnetterla da X e, apparentemente, chiuderla.

Come chiudere programmi bloccati in Linux

Non disperate qualora ALT+F2 non dovesse funzionare: basterà aprire un TTY premendo la combinazione di tasti ALT+CTRL+F2 , inserire le credenziali d’accesso e digitare successivamente il comando

xkill -display :0

A questo punto bisognerà ritornare all’interfaccia grafica digitando ALT+CTRL+F7 (in alcune distribuzioni potrebbe essere necessario premere invece ALT+CTRL+F8 o ALT+CTRL+F1). Il cursore sarà stato modificato e dovrebbe essere a questo punto possibile chiudere direttamente il programma come nel caso precedente.

Fatto ciò il consiglio, una volta sbloccato il server grafico, è di salvare tutto il lavoro in sospeso e riavviare il computer per liberare la memoria da eventuali tracce del programma bloccato. In alternativa, è possibile eliminare tali tracce anche senza riavviare il computer tramite il monitor di sistema oppure il terminale (con una combinazione di ps/top e kill -9 PID).

Chiudere programmi bloccati in Linux – Magic Keys

Non tutti lo sanno ma, servendosi del tasto SysReq – o SysRq o, ancora, Rsist – presente praticamente su tutte le tastiere, è possibile impartire “comandi” diretti al kernel utilizzando delle scorciatoie da tastiera. Tra questi comandi figurano anche quelli relativi alla distruzione dei processi, cosa che potrebbe permettere di chiudere le applicazioni bloccate in Linux evitando un riavvio se Xkill non ha funzionato.

 Vediamo insieme le combinazioni di tasti più utili ai nostri scopi:

  • ALT + SysReq + F: chiude un solo processo, per la precisione quello che occupa più risorse;
  • ALT + SysReq + K: chiude tutti i processi in una sola volta.

BONUS: riavvio “pulito” se il sistema è completamente bloccato

Se il sistema fosse completamente bloccato e non fosse possibile effettuare nessuna operazione dal server grafico, allora il riavvio è d’obbligo: a seconda dello stato del vostro computer potrete scegliere se effettuare un riavvio pulito tramite CTRL+ALT+CANC oppure se utilizzando ancora una volta i magic keys. 

Per tentare di riavviare tramite CTRL+ALT+CANC effettuando l’intera routine di pulizia del kernel e protezione dei filesystem, premete la combinazione di tasti CTRL+ALT+F1 per accedere ad una console a tutto schermo e, da lì, premete la combinazione di tasti CTRL+ALT+CANC. Dopo aver completato l’intera routine di pulizia, il sistema si riavvierà.

Qualora invece non fosse possibile riavviare in questo modo (ad esempio poiché anche la gestione dei TTY è bloccata), potrete effettuare manualmente la routine di pulizia e protezione impartendo comandi diretti al kernel tramite i magic keys. Per farlo, la combinazione di tasti da usare è ALT+SysReq+REISUB (premendo una lettera per volta, nell’ordine illustrato, e tenendo sempre premuti ALT+SysReq).

Ciascuno dei tasti effettua un’operazione differente nel kernel. Nel dettaglio:

  • R: passa alla mappatura ASCII (o XLATE mode) per il driver della tastiera (che permette l’inserimento di caratteri a prescindere dal resto);
  • E: invia il segnale di terminazione a tutti i processi (tranne init o systemd);
  • I: invia il segnale di distruzione a tutti i processi (tranne init o systemd);
  • S: sincronizza tutti i filesystem montati, completando le operazioni di I/O e svuotando i buffer;
  • U: rimonta tutti i filesystem montati in modalità sola lettura;
  • B: riavvia il sistema.

 

L'articolo Come chiudere programmi bloccati in Linux appare per la prima volta su Chimera Revo - News, guide e recensioni sul Mondo della tecnologia.

Leggi il contenuto originale su Linux – Chimera Revo – News, guide e recensioni sul Mondo della tecnologia

Written by: Jessica Lambiase