有没有最快的方法来关闭系统?


20

还是shutdown -h now最快的速度?

我在寻找一些syscall或类似的东西,它们可以跳过关机前所做的许多工作(特别是要关心正在运行的过程)。

充其量,我想要一个与内核相关的解决方案,对init-middleware(如systemdupstart)一无所知。

与直接杀死所有服务(例如杯子/ apache / pulseaudio等)相关的风险...我不在乎。

备注:解决方案应为软件辅助。按下设备上的按钮不是我想要的。


8
“与直接杀死所有服务(例如杯子/ apache / pulseaudio等)有关的风险……我不在乎。” ->您确定吗?将复杂的软件置于不一致的状态可能会在下次使用它时引起令人讨厌的意外。也许您应该考虑禁用不常用的服务(例如杯子,apache);您确实可以随时使用它们来手动启动和停止这些东西。
goldilocks 2014年

我目前所寻求的方法是避免他人访问我的PC。关闭过程中的任何延迟都可能导致调皮。我宁愿散乱的数据然后公开它。
humanityANDpeace

2
也请访问
Pandya 2014年

8
有个主意 不过,开始为某些新硬件省钱。
约翰·史密斯

sudo shutdown -P 0 我使用它,无论打开了哪些应用程序,它都会立即启动关机过程
gkmohit14 2014年

Answers:


30

它不会比使用System Request(SysRq)功能然后触发Instant快得多reboot

这是内核理解的组合键。

启用S​​ysRq:

echo 1 > /proc/sys/kernel/sysrq

现在,将其发送到重新启动。

echo b > /proc/sysrq-trigger

b -立即重新启动系统,而无需卸载或同步文件系统。

注意:

尽管这是一个问题,reboot但它的行为就像电源已经切断一样,不建议这样做。

如果你想syncumount前手的文件系统,然后使用:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

或者,如果您只想关闭系统电源,则:

echo o > /proc/sysrq-trigger

魔术键组合

内核还解释了一些要使用的组合键:

Alt+ SysRq / Print Screen+Command Key

命令键:

R-从X取回键盘的控制权
E。-将SIGTERM发送给所有进程,以使它们正常终止。
I-将SIGKILL发送给所有进程,迫使它们立即终止。
S-将数据刷新到磁盘。
U-重新挂载所有文件系统为只读。
B- 重启。

Magic SysRq Key Wiki引用:

神奇的SysRq密钥的常见用法是对已锁定的Linux计算机执行安全重启。

  1. 按住AltSysRq(打印屏幕)键。
  2. 按住这些键时,依次输入以下按键,间隔几秒钟:REISUB
  3. 计算机应重新启动。

记住这些的一种方法是:

- [R EBOOT é VEN ˚F 小号 ystem ù tterly roken”或简称为单词“ ”读向后。

参考文献

Magic SysRq密钥Wiki
Fedora SysRq


11
重要的是要注意,一个干净的系统关闭所花费的时间甚至不到2秒。当我poweroff在Arch机器上打电话时,我什至看不到关闭日志在屏幕上打印出来……
John WH Smith

在第二次回显之前,您需要运行synclinux.about.com/library/cmd/blcmdl8_sync.htm),以确保将缓冲区(包括超级块)写入磁盘。
Arcege 2014年

你建议b别人不要回声o。b更好吗?
humanityANDpeace

这取决于您的意思是更好。尽管该b选件非常快,但它不是sync磁盘,这不是理想选择,但有许多选件提供了减少关机时间的方法,其中一些方法比其他方法更为极端。还有一个panic选项。阅读Wiki和反复试验,以了解最能满足您需求的方法。
geedoubleya 2014年

在我的固定系统上,echo o /proc/sysrq-trigger确实会造成挂起。系统保持开启状态。确实,b该系统已不存在。但是它会重新启动,这意味着可以保留RAM,这是我希望b系统最终关闭时提供的一个漏洞。不幸的是,这不适o用于我的系统中的选项。感谢您的建议,也感谢@Pandya
humanityANDpeace

8

讨厌的方法是shutdown -h -n now

请注意,这不会进行任何清理,因此文件系统可能会变得不一致,数据库会中断等,但是它确实可以快速关闭系统。


1
谢谢,这听起来很有趣:此-n选项是否已记录在案,并且仍处于关机的当前版本?
humanityANDpeace

1
是的,这是标准的。它直接告诉内核放弃所有内容。常规关闭完成后,通常在上一个关闭脚本中使用此命令。
西蒙·里希特

7
但我不能过分强调这很可能会造成不良影响,因为这在很大程度上等同于拔掉插头。
西蒙·里希特

非常简单有效。这个-n选项正是我想要的。非常感谢您回答所提出的问题。您不知道问一个问题并听到脖子上的胡须告诉您为什么您的问题是错误的,而不仅仅是回答它是多么令人沮丧。如果可以的话,我会投票五十次。谢谢。
约书亚·佩奇

4

某些发行版提供的poweroff命令比更为简单shutdown

结合使用:

poweroff -f

将执行磁盘同步,然后关闭电源。这是一个很好的折衷方案,既可以提高速度,又可以执行最少的关闭操作,以确保文件系统不被损坏。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.