2005/04/13 Magic Sysrq

The "Magic Sysrequest key" is Alt (left or right Alt key) and Sysrq (up there under Print Screen, next to F12 on most keyboards). To use it, you need to have it enabled in your kernel (CONFIG_MAGIC_SYSRQ). It usually is; if you have a file called '/proc/sys/kernel/sysrq' you have this. To ENABLE the magic functions, you need a "1" in that file. If it has 0, Alt-SysRq just returns you to the previous console you were using.

You do NOT want this enabled on any machine that the public can walk up to. With this enabled, pressing Alt, SysRq and another key all at the same time can do things like immediately reboot the whole box - and all it takes is the keyboard, no login required. That's all three keys held down - don't release Alt-SysRq before pressing the other key (right, it's not supposed to be easy to do)


Hate these ads?


The capabilities should be documented in "man proc", but (at least on my system) are not. The "sysrq" is mentioned, but not documented. You can find documentation in /usr/src/linux-2.4.29/Documentation/sysrq.txt if you have source installed. This is from that file:


'r'     - Turns off keyboard raw mode and sets it to XLATE.



'k'     - Secure Access Key (SAK) Kills all programs on the current virtual
          console. NOTE: See important comments below in SAK section.



'b'     - Will immediately reboot the system without syncing or unmounting
          your disks.



'o'     - Will shut your system off (if configured and supported).








's'     - Will attempt to sync all mounted filesystems.



'u'     - Will attempt to remount all mounted filesystems read-only.



'p'     - Will dump the current registers and flags to your console.



't'     - Will dump a list of current tasks and their information to your
          console.


ad



'm'     - Will dump current memory info to your console.



'0'-'9' - Sets the console log level, controlling which kernel messages
          will be printed to your console. ('0', for example would make
          it so that only emergency messages like PANICs or OOPSes would
          make it to your console.)



'e'     - Send a SIGTERM to all processes, except for init.



'i'     - Send a SIGKILL to all processes, except for init.



'l'     - Send a SIGKILL to all processes, INCLUDING init. (Your system
          will be non-functional after this.)



'h'     - Will display help ( actually any other key than those listed
          above will display help. but 'h' is easy to remember :-)


The key is also self-documenting: doing Alt-Sysrq-h (or any other unrecognized key) prints out a HELP message that briefly reminds you of the above functions.

If you find that holding three keys is difficult, you do have some other choices. You can trigger it manually:



echo t > /proc/sysrq-trigger


Or, you can make the Alt-SysRq "sticky" by:



echo 1 > sysrq-sticky


With that done, you can hold Alt-SysRq, release it, and then leisurely press "t" or whatever key you wanted.

You could also change the SysRq itself in /proc/sys/kernel/sysrq-key (it's normally 84 - Alt-SysRq for Intel).

If you have this enabled, it can be useful in the case where the system has escaped your control and nothing else is working. The following sequence may be better than just hitting the power button:


Alt+SysRq+s - sync the disk
Alt+SysRq+e - try to nicely kill processes
(wait a little bit here)
Alt+SysRq+i - no more mister nice guy
Alt+SysRq+u - unmount disks
(wait a bit here, too)
Alt+SysRq+b - reboot


I can remember that with "So Everything Is Unusual - Boot!" (though starting with Alt+SysRq+r might be necessary)

Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them.

I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.




Comments




Wed May 4 18:39:57 2005: Subject:   anonymous
It's better to Sync AFTER killing your processes, just before unmounting the filesystems, so a safter sequence would be E-I-S-U-B. And you can even have fun with the acronym; "Everything Is Super, Uncle Ben!"





Wed May 4 19:45:04 2005: Subject:   TonyLawrence
Absolutely true, thanks.
gravatar






Tue Apr 10 07:36:11 2007: Subject:   anonymous
And of course, there is the classic, "Raising Elephants Is So Utterly Boring" in case your keyboard gets messed up :D





Mon Mar 3 11:16:44 2008: Subject: thanks for nice wrap-up   MichaelShigorin
http://www.linux.kiev.ua/

Googled it up, indeed. Not Technorati tags at all. :)

Don't miss responses! Subscribe to Comments by RSS or by Email

Click here to add your comments

If you want a picture to show with your comment, go get a Gravatar




Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.

Publishing your articles here


book graphic unix and linux troubleshooting guide

My Troubleshooting E-Book will show you how to solve tough problems on Linux and Unix systems!





pavatar.jpg
More:
       - Linux
       - Unix








card_image







Change Congress