La magia di Sys Req

Linux, solitamente, è un sistema abbastanza stabile da sopravvivere al comportamento anomalo di un software.
Può capitare,tuttavia, che un programma sia in grado di bloccare l’intero computer.
In questo caso molto spesso non ci rimane altro che forzare lo spegnimento del computer, con la probabilità di corrompere il filesystem.
Ma prima di ricorrere a questo metodo drastico ecco che ci viene in aiuto un po’ di “magia”.
Il nome di questo stregoneria è Magic Sys Req.
Magic Sys Req è una modalità di comunicazione con il kernel Linux che permette di eseguire diversi comandi a basso livello semplicemente utilizzando una sequenza di tasti, a prescindere dallo stato in cui si trova il sistema.
Solitamente Magic Sys Req è attivo di default nella maggior parte dei sistemi ma qualora non lo fosse vediamo come attivarlo in pochi semplici passaggi.
Sono disponibili due modalità per poter attivare Magic Sys Req:
Modalità 1:
Basta aprire il terminale e dare il comando:
echo 1 > /proc/sys/kernel/sysrq
Modalità 2:
Aprire con un editor il file /etc/sysctl.conf e aggiungere la riga
kernel.sysrq = 1
Per attivare Sys Req su un sistema bloccato, basta premere il tasto Alt e il tasto R sist, solitamente il tasto con la scritta stamp (per intenderci quello che permette di acquisire uno screenshot).
Adesso che abbiamo visto come attivarlo, qualora già non lo fosse, e abbiamo visto i tasti da usare, andiamo a vedere un esempio pratico facendo riferimento alla nostra problematica iniziale, e cioè un sistema che non risponde più.
Per riavviare il sistema e chiudere tutte le app aperte senza rischiare di corrompere il filesystem.
Per prima cosa premiamo i tasti Alt e Stamp e poi la combinazione di tasti R E I S U B, lasciando preferibilmente trascorrere qualche secondo tra la pressione di un tasto e l’altro.
Questa combinazione di tasti permette ai file di essere salvati e al sistema di riavviarsi senza problemi.
Ma vediamo nello specifico come opera ogni singolo tasto:
Il tasto R, ripristina il funzionamento della tastiera.
Il tasto E, lancia il comando TERM che chiede a tutti i processi di auto terminarsi, dopo aver salvato i file sul disco.
Il tasto I, invece, attiva il comando KILL che forza la disattivazione dei servizi ancora attivi.
Il tasto S, ordina al kernel di sincronizzarsi con i buffer sul disco in modo che i file che sono ancora attivi si chiudano senza problemi.
Il tasto U, smonta il filesystem e lo rimonta in sola lettura, in modo da impedire la corruzione di altri dati.
Infine il tasto B, riavvia il sistema.
Se volete avere altre informazioni potete fare riferimento alla documentazione che potete trovare a questo link.