GNU/Linux >> Linux Esercitazione >  >> Linux

Come verificare quali funzioni SysRq sono abilitate?

Queste sono le funzioni SysRq disponibili:

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 , quindi sono consentite solo le funzioni associate a tali numeri. Leggi tutto nella documentazione.

Se converti 438 in base 2 (110110110 ) è ancora più facile da vedere.

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

A seconda della tua distribuzione, potresti essere in grado di dire se il kernel è stato compilato con CONFIG_MAGIC_SYSRQ usando questo comando:

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

Questo funziona per me su Ubuntu.


Ecco un one-liner di Bash che ti mostrerà le opzioni abilitate:

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

Quali funzioni SysRq sono consentite/non consentite quando la maschera di bit è impostata su 438?

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

Per il significato, fai riferimento alla risposta di William.

Per abilitare tutte le opzioni, esegui:

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

Per renderlo persistente, esegui:

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

Linux
  1. Come sapere quale distribuzione Linux stai utilizzando?

  2. In un ambiente vuoto, come vengono trovati gli eseguibili?

  3. Come verificare quale shell sto usando?

  4. Come verificare se i demoni Hadoop sono in esecuzione?

  5. Come verificare quali moduli Apache sono abilitati/installati?

Come verificare quali moduli Apache sono abilitati/caricati in Linux

Come verificare che le porte remote siano raggiungibili utilizzando il comando "nc".

Come verificare se sei nella sessione dello schermo o meno in Linux

Come verificare quale versione di Postgres è in esecuzione/installata

Centos:come verificare quali processi specifici (script Python) sono in esecuzione?

Come trovare la versione di Linux in esecuzione