GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat, které funkce SysRq jsou povoleny?

Toto jsou dostupné funkce 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 , takže jsou povoleny pouze funkce spojené s těmito čísly. Přečtěte si o tom vše v dokumentaci.

Pokud převedete 438 na základ 2 (110110110 ) je ještě lépe vidět.

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

V závislosti na vaší distribuci můžete být schopni zjistit, zda bylo jádro zkompilováno s CONFIG_MAGIC_SYSRQ pomocí tohoto příkazu:

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

Na Ubuntu mi to funguje.


Zde je Bash one-liner, který vám vytiskne povolené možnosti:

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

Které funkce SysRq jsou povoleny/nepovoleny, když je bitová maska ​​nastavena na 438?

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

Význam viz Williamova odpověď.

Chcete-li povolit všechny možnosti, spusťte:

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

Aby byl trvalý, spusťte:

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

Linux
  1. Jak zkontrolovat, zda je SELinux povolen nebo zakázán

  2. jak zkontrolovat nainstalovanou verzi nltk, scikit learn?

  3. Jak zjistím, zda je v linuxu povoleno KPTI?

  1. Jak zkontrolovat, zda jsou vzdálené porty dosažitelné pomocí příkazu „nc“.

  2. Jak zkontrolovat, která verze Postgresu je spuštěná/nainstalovaná

  3. Jak mohu zkontrolovat, které definice terminálů jsou k dispozici?

  1. Jak se v prázdném prostředí nacházejí spustitelné soubory?

  2. Jak zkontrolovat, zda běží démoni Hadoop?

  3. Jak zkontrolovat, které moduly Apache jsou povoleny/nainstalované?