Magic key in Linux Kernel

3

0

What is the purpose of the following command?

sudo echo t > /proc/sysrq-trigger

I run it, but I can see no difference in the magic key and its output at dmesg. Trigger suggests me that the databases of sysrq are involved in the process.

Léo Léopold Hertz 준영

Posted 2009-12-02T21:27:19.070

Reputation: 4 828

1I would argue that's a pretty obscure question for a beginner ;-) – DaveParillo – 2009-12-03T00:53:40.270

Answers

8

according to this site - red hat manual -> proc-sysrq-trigger - you can use this to remotly (for example in an ssh session) execute the magic system request keys.

it makes sense because otherwise, if you have to perform such an task and you're not in reach for the server or the server has no keyboard attached, you can't trigger system request keys.

your example does not work because of different problems.

  • according to this site you have to set "/proc/sys/kernel/sysrq" to something other than 0. you have to search the manuals for the right value. then you are able to echo something into "/proc/sysrq-trigger".

  • you have to be root for this. "sudo echo SOMETHING > /SOMEWHERE" does not work because of the output redirection ">".

you have to do this like the examples on this site - a full example would be:

su -
echo 1 > /proc/sys/kernel/sysrq
echo "t" > /proc/sysrq-trigger

or

echo 1 | sudo tee -a /proc/sys/kernel/sysrq
echo "t" | sudo tee -a /proc/sysrq-trigger

After i wrote all this i catched probably another issue of your test :). if you execute for example the "t" sysrq key over an remote session or for example an xterm you can't see the output because sysrq output goes to the "real" console. issue dmesg to see the output!

fin

Posted 2009-12-02T21:27:19.070

Reputation: 1 806

@Masi: ups, forget about the last paragraph. while it is true it maybe doesn't apply to you because you wrote that you checked dmesg. --fin – fin – 2009-12-02T22:19:54.020

this also works, and may be cleaner than your examples: sudo sh -c 'echo 1 > /proc/sys/kernel/sysrq ; echo "t" > /proc/sysrq-trigger' – quack quixote – 2009-12-02T23:24:21.673