Dies sind die verfügbaren SysRq-Funktionen:
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
, daher sind nur die diesen Nummern zugeordneten Funktionen zulässig. Lesen Sie alles darüber in der Dokumentation.
Wenn Sie 438
konvertieren zu Basis 2 (110110110
) ist es noch einfacher zu sehen.
1 1 0 1 1 0 1 1 0
^256 ^128 ^64 ^32 ^16 ^8 ^4 ^2 ^1
Abhängig von Ihrer Distribution können Sie möglicherweise feststellen, ob der Kernel mit CONFIG_MAGIC_SYSRQ
kompiliert wurde mit diesem Befehl:
$ grep SYSRQ /boot/config-$(uname -r)
Das funktioniert bei mir unter Ubuntu.
Hier ist ein Bash-Einzeiler, der Ihnen die aktivierten Optionen ausdruckt:
for i in $(seq 1 8); do (( ($(</proc/sys/kernel/sysrq) & $((1<<$i))) > 0 )) && echo $((1<<$i)); done
Welche SysRq-Funktionen sind erlaubt/nicht erlaubt, wenn die Bitmaske auf 438 gesetzt ist?
$ for i in $(seq 1 8); do (( (438 & $((1<<$i))) > 0 )) && echo $((1<<$i)); done
2
4
16
32
128
256
Zur Bedeutung siehe Williams Antwort.
Um alle Optionen zu aktivieren, führen Sie Folgendes aus:
echo 1 | sudo tee /proc/sys/kernel/sysrq
Um es dauerhaft zu machen, führen Sie Folgendes aus:
echo kernel.sysrq=1 | sudo tee /etc/sysctl.d/20-sysrq.conf