GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo verificar qué funciones de SysRq están habilitadas?

Estas son las funciones 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 , por lo que solo se permiten las funciones asociadas con esos números. Lea todo sobre esto en la documentación.

Si convierte 438 a base 2 (110110110 ) es aún más fácil de ver.

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

Dependiendo de su distribución, es posible que pueda saber si el núcleo se compiló con CONFIG_MAGIC_SYSRQ usando este comando:

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

Esto funciona para mí en Ubuntu.


Aquí hay una sola línea de Bash que le imprimirá las opciones habilitadas:

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

¿Qué funciones de SysRq están permitidas/no permitidas cuando la máscara de bits está configurada en 438?

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

Para conocer el significado, consulte la respuesta de William.

Para habilitar todas las opciones, ejecute:

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

Para hacerlo persistente, ejecute:

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

Linux
  1. Cómo verificar qué módulos de Apache están habilitados/cargados en Linux

  2. Cómo comprobar qué versión de Postgres se está ejecutando/instalada

  3. ¿Cómo verificar qué versión de nltk, scikit learn está instalada?

  4. ¿Cómo verifico si KPTI está habilitado en Linux?

  5. ¿Cómo verificar si el kernel de Linux está habilitado para Retpoline o no?

Cómo verificar que los puertos remotos sean accesibles usando el comando 'nc'

¿Cómo saber qué distribución de Linux está utilizando?

Cómo verificar si está en sesión de pantalla o no en Linux

En un entorno vacío, ¿cómo se encuentran los ejecutables?

¿Cómo verificar qué shell estoy usando?

Cómo encontrar qué versión de Linux está ejecutando