GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier quelles fonctions SysRq sont activées ?

Voici les fonctions SysRq disponibles :

0 - disable every SysRq function.
1 - enable every SysRq function.
2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signalling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

438 =2 + 4 + 16 + 32 + 128 + 256 , ainsi seules les fonctions associées à ces numéros sont autorisées. Lisez tout à ce sujet dans la documentation.

Si vous convertissez 438 en base 2 (110110110 ) c'est encore plus facile à voir.

1     1     0    1    1    0   1   1   0
^256  ^128  ^64  ^32  ^16  ^8  ^4  ^2  ^1

Selon votre distribution, vous pourrez peut-être savoir si le noyau a été compilé avec CONFIG_MAGIC_SYSRQ en utilisant cette commande :

$ grep SYSRQ /boot/config-$(uname -r)

Cela fonctionne pour moi sur Ubuntu.


Voici un one-liner Bash qui vous imprimera les options activées :

for i in $(seq 1 8); do (( ($(</proc/sys/kernel/sysrq) & $((1<<$i))) > 0 )) && echo $((1<<$i)); done

Quelles fonctions SysRq sont autorisées/non autorisées lorsque le masque de bits est défini sur 438 ?

$ for i in $(seq 1 8); do (( (438 & $((1<<$i))) > 0 )) && echo $((1<<$i)); done
2
4
16
32
128
256

Pour la signification, reportez-vous à la réponse de William.

Pour activer toutes les options, exécutez :

echo 1 | sudo tee /proc/sys/kernel/sysrq

Pour le rendre persistant, exécutez :

echo kernel.sysrq=1 | sudo tee /etc/sysctl.d/20-sysrq.conf

Linux
  1. Comment vérifier que les ports distants sont accessibles à l'aide de la commande 'nc'

  2. Centos - Comment vérifier quels processus spécifiques (scripts python) sont en cours d'exécution ?

  3. Comment vérifier quel shell j'utilise ?

  4. comment vérifier quelle version de nltk, scikit learn est installée ?

  5. Comment vérifier si KPTI est activé sous Linux ?

Comment vérifier quels modules Apache sont activés/chargés sous Linux

Comment vérifier si vous êtes en session d'écran ou pas sous Linux

Comment trouver la version de Linux que vous utilisez

Comment puis-je vérifier quels ports sont occupés et quels ports sont libres sur ma machine Linux ?

Comment puis-je vérifier quelles définitions de terminaux sont disponibles ?

Comment vérifier si le noyau Linux est activé ou non avec Retpoline ?