Sysrq ou Les touches magiques
Table des matières
Non, ce n'est pas un jeu.
Non, ce n'est pas une blague.
Les touches magiques sont des combinaisons de touches qui peuvent vous permettre de redémarrer une machine proprement, ou même de tuer un programme trop gourmand en cas de paralysie totale du système.
Et bien, cela fonctionne dans la plupart des cas où la machine est bloquée.
Avant d'éteindre sauvagement l'ordinateur, testez ceci, cela évitera de perdre d'éventuelles données.
Pour savoir si la fonctionnalité est disponible sur le système (c'est le cas sur la plupart des distributions Linux actuelles), vérifier si le fichier /proc/sys/kernel/sysrq contient 1.
Si la valeur n'est pas 1, c'est sûrement une valeur de cette liste :
Pour fixer une valeur de manière permanente, éditer le fichier /etc/sysctl.conf ou créer le fichier /etc/sysctl.d/sysrq.conf et y ajouter ceci :
où X est une valeur citée ci-dessus.
Les touches magiques fonctionnent de cette façon :
Appui sur Alt + System Request + *touche*.
La touche "System Request" est généralement placée sur la même touche que la touche "Imprim Ecran". Son nom étant assez long, vous trouverez écrit sur la touche Sys Req ou Syst.
Voici un tableau récapitulatif des différentes combinaisons :
Pour lancer plusieurs combinaisons (comme je vous indique ci-dessous), appuyer sur Alt + Syst Req + *touche1* , laisser enfoncé Alt et Syst Req, puis relâcher la touche1, attendre 1 seconde pour que l'action précédente ait été prise en compte, et appuyer sur la deuxième touche, etc...
Un exemple avec la combinaison SEIUB (pour redémarrer proprement la machine en cas de plantage total) Ne faites pas l'exemple, c'est pour vous illustrer !!!
Enfoncer Alt + Enfoncer Syst Req + Appuyer sur S + Relâcher S + Attendre une seconde + Appuyer sur E + Relâcher E + Attendre une seconde + Appuyer sur I + Relâcher I + Attendre une seconde + Appuyer sur U + Relâcher U + Attendre une seconde + Appuyer sur B + Relâcher B + Relâcher Alt et Syst Req
Si comme moi, il vous arrive de lancer une Machine virtuelle par exemple, alors que vous étiez juste en RAM, le système se bloque.
On peut appeler les touches magiques à la rescousse ....
Lancer la séquence suivante :
Après une manip hasardeuse, ou un bug, le système est complètement bloqué. Le passage en tty via Ctrl+Alt+F2 ne fonctionne pas ?
Avant d'éteindre "à la sauvage", testez cette combinaison :
Pour résumer, version courte : SUB
version plus propre : SEIUB
Les actions des touches Magiques sont journalisées dans les journaux systèmes.
Voici un exemple, lors d'une Synchronisation d'urgence des disques :
Les touches magiques ?? Qu'est ce que c'est que ce truc ?
Non, ce n'est pas un jeu.
Non, ce n'est pas une blague.
Les touches magiques sont des combinaisons de touches qui peuvent vous permettre de redémarrer une machine proprement, ou même de tuer un programme trop gourmand en cas de paralysie totale du système.
Et ça marche à tous les coups ?
Et bien, cela fonctionne dans la plupart des cas où la machine est bloquée.
Avant d'éteindre sauvagement l'ordinateur, testez ceci, cela évitera de perdre d'éventuelles données.
Pour savoir si la fonctionnalité est disponible sur le système (c'est le cas sur la plupart des distributions Linux actuelles), vérifier si le fichier /proc/sys/kernel/sysrq contient 1.
Code BASH :
adrien@superlinux: ~ $ cat /proc/sys/kernel/sysrq 1
Si la valeur n'est pas 1, c'est sûrement une valeur de cette liste :
- 0 : Toutes les touches sont désactivées
- 1 : Toutes les touches sont activées
- >1 : C'est un masque de bits des fonctions de SysRq autorisées (voir ci-dessous pour une description détaillée de la fonction)
- 2 : Autorise la combinaison Alt + Syst Req + 0 à 9
- 4 : Autorise la combinaison Alt + Syst Req + k
- 8 : Autorise la combinaison Alt + Syst Req + p / m (A vérifier)
- 16 : Autorise la combinaison Alt + Syst Req + s
- 32 : Autorise la combinaison Alt + Syst Req + u
- 64 : Autorise la combinaison Alt + Syst Req + f / e / i / l
- 128 : Autorise la combinaison Alt + Syst Req + o / b
- 256 : Autorise la combinaison Alt + Syst Req + t (A vérifier)
Pour fixer une valeur de manière permanente, éditer le fichier /etc/sysctl.conf ou créer le fichier /etc/sysctl.d/sysrq.conf et y ajouter ceci :
Code BASH :
kernel.sysrq = X
où X est une valeur citée ci-dessus.
Quelles sont ces touches magiques ?
Les touches magiques fonctionnent de cette façon :
Appui sur Alt + System Request + *touche*.
La touche "System Request" est généralement placée sur la même touche que la touche "Imprim Ecran". Son nom étant assez long, vous trouverez écrit sur la touche Sys Req ou Syst.
*touche* : signification des combinaisons possibles
Voici un tableau récapitulatif des différentes combinaisons :
Combinaison |
Action |
---|---|
Alt + Syst Req + r | Permet de se réapproprier le clavier (bien souvent capturé par l'interface graphique) |
Alt + Syst Req + 0 à 9 | Permet de définir le niveau de LOG dans la console et dans le fichier /var/log/mesages |
Alt + Syst Req + b | Redémarre immédiatement le système (attention, action violente pouvant entraîner la perte de données car ne synchronise pas les disques, ni même écrit ce qui est en mémoire cache) |
Alt + Syst Req + c | Redémarre le processus kexec |
Alt + Syst Req + e | Envoie un signal SIGTERM à tous les processus à l'exception d'init. |
Alt + Syst Req + f | Tue le processus qui consomme le plus de mémoire (avec la fonction oom_kill) |
Alt + Syst Req + i | Envoie le signal SIGKILL à tous les processus à l'exception d'init. |
Alt + Syst Req + k | Tue tous les processus de la console active (y compris l'interface graphique si l'interface graphique est lancée). |
Alt + Syst Req + l | Envoie le signal SIGKILL à tous les processus y compris init. |
Alt + Syst Req + m | Affiche les informations relatives à la mémoire (appuyer sur la touche virgule si cela ne fonctionne pas avec m : AZERTY/QWERTY) |
Alt + Syst Req + o | Arrête immédiatement le système (attention, action violente pouvant entraîner la perte de données car ne synchronise pas les disques, ni même écrit ce qui est en mémoire cache) |
Alt + Syst Req + p | Affiche les informations relatives aux registres courants et aux flags dans la console |
Alt + Syst Req + s | Synchronise les systèmes de fichiers montés (Permet d'écrire sur disque ce qui est en mémoire cache). Utile pour éviter de perdre des données. |
Alt + Syst Req + t | Affiche la liste des différentes tâches actives ainsi que des informations pour chacune d'entre elles. |
Alt + Syst Req + u | Passe tous les systèmes de fichiers montés en lecture seule. Cela évitera une vérification des systèmes de fichiers au prochain redémarrage. |
Comment Lancer une séquence
Pour lancer plusieurs combinaisons (comme je vous indique ci-dessous), appuyer sur Alt + Syst Req + *touche1* , laisser enfoncé Alt et Syst Req, puis relâcher la touche1, attendre 1 seconde pour que l'action précédente ait été prise en compte, et appuyer sur la deuxième touche, etc...
Un exemple avec la combinaison SEIUB (pour redémarrer proprement la machine en cas de plantage total) Ne faites pas l'exemple, c'est pour vous illustrer !!!
Enfoncer Alt + Enfoncer Syst Req + Appuyer sur S + Relâcher S + Attendre une seconde + Appuyer sur E + Relâcher E + Attendre une seconde + Appuyer sur I + Relâcher I + Attendre une seconde + Appuyer sur U + Relâcher U + Attendre une seconde + Appuyer sur B + Relâcher B + Relâcher Alt et Syst Req
Quelques manipulations de secours ....
Halte, j'ai lancé une application trop gourmande en RAM
Si comme moi, il vous arrive de lancer une Machine virtuelle par exemple, alors que vous étiez juste en RAM, le système se bloque.
On peut appeler les touches magiques à la rescousse ....
Lancer la séquence suivante :
- Alt + Syst Req + s (synchronisation, toujours synchroniser au cas où)
- Alt + Syst Req + f (kill de l'application la plus gourmande en RAM)
Mon système est complètement figé, comment le redémarrer proprement ?
Après une manip hasardeuse, ou un bug, le système est complètement bloqué. Le passage en tty via Ctrl+Alt+F2 ne fonctionne pas ?
Avant d'éteindre "à la sauvage", testez cette combinaison :
- Alt + Syst Req + r (On se réapproprie le clavier) - facultatif, ça marche en principe sans
- Alt + Syst Req + s (Son synchronise, toujours synchroniser !)
- Alt + Syst Req + e (On tue proprement les processus) - facultatif
- Alt + Syst Req + i (On tue les processus récalcitrants un peu plus violemment) - facultatif
- Alt + Syst Req + u (On démonte et remonte les fichiers en lecture seule)
- Alt + Syst Req + b (On redémarre l'ordinateur)
Pour résumer, version courte : SUB
version plus propre : SEIUB
Pour les curieux ....
Les actions des touches Magiques sont journalisées dans les journaux systèmes.
Voici un exemple, lors d'une Synchronisation d'urgence des disques :
Code BASH :
tailf /var/log/messages Mar 17 21:14:01 superlinux kernel: [289425.155210] SysRq : Emergency Sync Mar 17 21:14:01 superlinux kernel: [289425.165201] Emergency Sync complete