GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie überprüfe ich, welche SysRq-Funktionen aktiviert sind?

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

Linux
  1. Wie werden ausführbare Dateien in einer leeren Umgebung gefunden?

  2. Wie überprüfe ich, welche Shell ich verwende?

  3. Wie überprüfe ich, ob Hadoop-Daemons ausgeführt werden?

  4. Wie überprüfe ich, welche Apache-Module aktiviert/installiert sind?

  5. Wie überprüfe ich die Zeitzone in Linux?

So überprüfen Sie, ob Remote-Ports mit dem Befehl „nc“ erreichbar sind

Woher wissen Sie, welche Linux-Distribution Sie verwenden?

So überprüfen Sie, ob Sie sich in einer Bildschirmsitzung befinden oder nicht in Linux

So finden Sie heraus, welche Linux-Version Sie ausführen

Wie überprüfe ich, ob KPTI unter Linux aktiviert ist?

Wie überprüfe ich, ob der Linux-Kernel Retpoline-fähig ist oder nicht?