Linux霸道關機/重啟

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
teed7334
帖子: 11
注册时间: 2007-10-16 13:04
来自: 台灣,台北
送出感谢: 0
接收感谢: 0
联系:

Linux霸道關機/重啟

#1

帖子 teed7334 » 2008-02-10 23:42

alt+print screen sysrq+b=>霸道重啟
alt+print screen sysrq+o=>霸道關機

日後點alt+print screen sysrq時要小心了,不要點到別的

其它還有
alt+print screen sysrq+r/s/e/i/u
头像
skyx
论坛版主
帖子: 9203
注册时间: 2006-12-23 13:46
来自: Azores Islands
送出感谢: 0
接收感谢: 1 次
联系:

#2

帖子 skyx » 2008-02-11 0:17

alt+print screen sysrq+b 测试没有重启,死掉了

:shock:
no security measure is worth anything if an attacker has physical access to the machine
头像
teed7334
帖子: 11
注册时间: 2007-10-16 13:04
来自: 台灣,台北
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 teed7334 » 2008-02-11 13:01

可能妳的Kernel沒打補丁,不然就是系統有什麼地方沒設好吧

原文如下–
http://www.developertutorials.com/tutor ... page1.html
头像
s4426565
帖子: 34
注册时间: 2007-10-24 1:37
送出感谢: 0
接收感谢: 0

#4

帖子 s4426565 » 2008-02-14 6:58

真的可以这么搞呵呵 看一看
A man travels the world in search of what he needs and returns home to find it
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#5

帖子 bones7456 » 2008-02-14 17:16

还真有人去试这个啊,呵呵~
关注我的blog: ε==3
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#6

帖子 BigSnake.NET » 2008-02-14 17:39

代码: 全选

$ cat /boot/config*|grep -i magic_sysrq
CONFIG_MAGIC_SYSRQ=y
内核的magic sysrq键功能
用来应急时用的

注意不要直接用这个关哦, 关机前不会sync文件系统的
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
skyx
论坛版主
帖子: 9203
注册时间: 2006-12-23 13:46
来自: Azores Islands
送出感谢: 0
接收感谢: 1 次
联系:

#7

帖子 skyx » 2008-02-14 17:40

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)

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

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!"

Tutorial Pages:
» Magic Sysrq

no security measure is worth anything if an attacker has physical access to the machine
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#8

帖子 BigSnake.NET » 2008-02-14 17:42

最多的还是用+r的
把键盘抢回来
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11
送出感谢: 0
接收感谢: 0

#9

帖子 yjcong » 2008-02-21 23:05

问LZ,那两个有
sudo reboot -f

sudo poweroff -f
快吗?
头像
bearscafe
帖子: 694
注册时间: 2007-05-05 23:11
送出感谢: 2 次
接收感谢: 0

#10

帖子 bearscafe » 2008-02-22 1:16

yjcong 写了:问LZ,那两个有
sudo reboot -f

sudo poweroff -f
快吗?
哦,还可以这样。学到了。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#11

帖子 eexpress » 2008-02-22 10:45

别玩这序列。基本按了以后,就残废了的。上次试过,r以后的,键盘就瞎搞。l变成了弹出光驱,还有什么字母,变成了无限输入字符的。
● 鸣学
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#12

帖子 BigSnake.NET » 2008-02-22 13:36

eexpress 写了:别玩这序列。基本按了以后,就残废了的。上次试过,r以后的,键盘就瞎搞。l变成了弹出光驱,还有什么字母,变成了无限输入字符的。
r 可以将键盘从X手中夺回来
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
fbsd4
帖子: 174
注册时间: 2007-03-19 8:07
送出感谢: 0
接收感谢: 0

#13

帖子 fbsd4 » 2008-03-14 17:55

用过,内核debug必须打开相应的选项的。
回复

回到 “Shell脚本”