[PATCH] Magic SysRq help

From: Alan Ford (alan@whirlnet.co.uk)
Date: Sun Sep 03 2000 - 07:27:32 EST


On more than one occasion I have been hit by a situation where I wished
I could remember which Magic SysRq key to use. So I wrote the following
patch: Alt+SysRq+h to print the list of keys, taken from the SysRq
Documentation. I thought I'd share it here, hoping that other people
would also find it useful. It's against 2.2.16 but probably works on
many other kernel versions too.

--- linux/drivers/char/sysrq.c.vanilla Mon Jun 26 20:57:13 2000
+++ linux/drivers/char/sysrq.c Mon Jun 26 21:08:53 2000
@@ -67,6 +67,10 @@
         console_loglevel = 7;
         printk(KERN_INFO "SysRq: ");
         switch (key) {
+ case 'h': /* H -- Help */
+ printk("Help\n");
+ print_sysrq_help();
+ break;
         case 'r': /* R -- Reset raw mode */
                 if (kbd) {
                         kbd->kbdmode = VC_XLATE;
@@ -255,4 +259,22 @@
 
         unlock_kernel();
         printk(KERN_INFO "Done.\n");
+}
+
+static void print_sysrq_help(void)
+{
+ printk("'h' - This help information.\n");
+ printk("'r' - Turns off keyboard raw mode and sets it to XLATE.\n");
+ printk("'k' - Kills all programs on the current virtual console.\n");
+ printk("'b' - Will immediately reboot the system without syncing or unmounting your disks.\n");
+ printk("'o' - Will shut your system off (if configured and supported).\n");
+ printk("'s' - Will attempt to sync all mounted filesystems.\n");
+ printk("'u' - Will attempt to remount all mounted filesystems read-only.\n");
+ printk("'p' - Will dump the current registers and flags to your console.\n");
+ printk("'t' - Will dump a list of current tasks and their information to your console.\n");
+ printk("'m' - Will dump current memory info to your console.\n");
+ printk("'0'-'9' - Sets the console log level, controlling which kernel messages will be printed to your console.\n");
+ printk("'e' - Send a SIGTERM to all processes, except for init.\n");
+ printk("'i' - Send a SIGKILL to all processes, except for init.\n");
+ printk("'l' - Send a SIGKILL to all processes, INCLUDING init.\n");
 }

-- 
     Alan Ford * alan@whirlnet.co.uk * DFax: +44 (0)870 1600868 
 WWW: http://www.whirlnet.co.uk/ * PGP: 0x8F807D7D * GPG: 0x673BA843
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:15 EST