About
Random notes: A pile of assorted scribblings, snippets and ramblings (mostly about programming and the software that makes my life easier).

Rhesa Rozendaal
Subscribe
Subscribe to a syndicated feed of my weblog.
Categories
Archive
November
Sun Mon Tue Wed Thu Fri Sat
 
29        
Links

2010. 11. 29

Magic SysRq


Marc from our hosting provider pointed me to /proc/sysrq-trigger. Useful if something’s wedged, and you can’t get a box to reboot in the normal way.

This page has more details, as it doesn’t seem to be documented in a normal man page.

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.

'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


Comments are closed for this story.