Configurando o sysrq no linux

12

O arquivo /proc/sys/kernel/sysrq contém um único número, como 1 (habilitar todos os comandos sysrq), 0 (desabilitar tudo) ou um inteiro positivo de base 10 que funciona como máscara de bit binária, habilitando um subconjunto de funções. Alguém poderia me dizer quais funções sysrq são permitidas / não permitidas quando o bitmask está definido como 438 ?

cat /proc/sys/kernel/sysrq

438

    
por user001 07.01.2012 / 18:54

1 resposta

16

Estas são as funções disponíveis do SysRq:

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 , portanto somente as funções associadas a esses números são permitidas. Leia tudo sobre isso na documentação .

Se você converter 438 em base 2 ( 110110110 ), será ainda mais fácil ver.

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

Dependendo da sua distribuição, você pode saber se o kernel foi compilado com CONFIG_MAGIC_SYSRQ usando este comando:

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

Isso funciona para mim no Ubuntu.

    
por 07.01.2012 / 19:05