26Aug

Usa la chiave SysRq di Magic su Linux per riparare i server Frozen X, riavviare in modo pulito ed eseguire altri comandi di basso livello

chiave sysrq

Su Linux, la chiave magica SysRq può inviare comandi direttamente al kernel Linux. Puoi usarlo per recuperare dai blocchi o riavviare il tuo sistema in modo pulito, anche se non sembra che nulla stia rispondendo.

La chiave magica SysRq è implementata come parte del driver della tastiera di Linux - funzionerà fintanto che il kernel Linux è ancora in esecuzione. Solo un kernel panic dovrebbe disabilitare questa combinazione di tasti. Credito immagine

: solylunafamilia su Flickr

Uso del tasto Magic SysRq

Il tasto SysRq si trova vicino al tasto Scroll Lock sulla tastiera: il tasto Sys Rq è generalmente uguale al tasto Print Screen. La combinazione "magica" di SysRq è Alt + SysRq.

Per utilizzare questa combinazione di tasti, il tuo kernel Linux deve essere stato compilato con l'opzione di compilazione CONFIG_MAGIC_SYSRQ - la maggior parte delle distribuzioni Linux avrà abilitato questa opzione per impostazione predefinita. Supponendo che sia compilato nel tuo kernel, può essere abilitato o disabilitato su un sistema in esecuzione modificando il valore di /proc/sys/kernel/ sysrq. Per verificare se è abilitato, eseguire il seguente comando:

cat /proc/sys/kernel/ sysrq

Se viene visualizzato un "1", il tasto magico SysRq è abilitato.

Immagine

Se vedi uno "0", dovrai abilitarlo da solo eseguendo il seguente comando come root:

echo "1" & gt;/proc/sys/kernel/ sysrq

Gestione di un server X congelato

Se il server X( il programma che esegue il desktop grafico) si blocca, è possibile che non si riesca a utilizzare il sistema. Ci sono alcuni comandi SysRq magici che possono aiutare:

  • Alt + SysRq + r - Prende la tastiera dalla modalità raw, prendendo il controllo dal server X.Dopo aver eseguito questa combinazione, dovresti essere in grado di utilizzare le scorciatoie da tastiera Ctrl + Alt + F1( e altri tasti F) per passare a un'altra console e riavviare X.
  • Alt + SysRq + k - Elimina tutti i programmi sull'attualeconsole virtuale, inclusa X. Puoi anche abilitare la scorciatoia da tastiera Ctrl + Alt + Backspace nelle preferenze della tastiera di Ubuntu per riavviare il tuo server X. Tuttavia, questo collegamento è implementato dal server X e potrebbe non funzionare sempre.

Riavvio pulito del sistema

Utilizzati in sequenza, alcune di queste azioni possono essere utilizzate per terminare in modo pulito i processi, eseguire il flush dei dati su disco, smontare tutti i file system e riavviare il computer. Per eseguire questo processo, premere e tenere premuta la combinazione di tasti Alt + SysRq e - tenendo premuti i tasti Alt e SysRq in basso - digitare i seguenti tasti in ordine, fermandosi per alcuni secondi tra ogni tasto:

reisub

Il mnemonico " R aizzare E lephants I s S o U a tergio B oring "è spesso usato per ricordare questa sequenza. Ecco cosa fa ogni tasto:

  • r - Mette la tastiera in modalità raw, prendendo il controllo di esso lontano dal server X.
  • e - Invia il segnale di terminazione a tutti i processi, chiedendo loro di terminare con grazia.
  • i - Invia il segnale di uccisione a tutti i processi, forzandoli a terminare immediatamente.
  • s : scarica i dati dalla cache al disco.
  • u - Rimuove tutti i file system in sola lettura.
  • b - Riavvia il computer.

Altri comandi

Ecco alcune altre azioni che è possibile eseguire con il tasto magico SysRq. Per eseguire un'azione, premere e tenere premuti i tasti Alt + SysRq durante la digitazione della lettera:

  • n - Ripristina il livello piacevole( priorità) di tutti i processi con priorità alta e in tempo reale.
  • f - Chiama oom_kill, che uccide un processo di memoria-hogging.
  • o - Spegne il computer.

Ci sono altre azioni, ma potrebbero essere più utili per gli sviluppatori rispetto al geek di Linux medio. Per ulteriori informazioni sul tasto SysRq magico e un elenco completo di azioni che è possibile eseguire, consultare il file sysrq.txt incluso con il kernel Linux.