hum*_*ace 21 shutdown performance
或者是shutdown -h now
它可以得到的最快的?
我寻找一些 syscall 或类似的东西,它们将允许跳过在关闭之前完成的大量工作(特别是关心正在运行的过程)。
充其量我想要一个与内核相关的解决方案,对init
-middleware(如systemd
或upstart
)一无所知。
与即直接杀死所有服务(如cups/apache/pulseaudio 等)相关的风险......我不在乎......
备注:解决方案应该是软件副。在设备上按下按钮不是我想要的。
gee*_*eya 31
它不会比使用系统请求 (SysRq) 功能然后立即触发reboot
.
这是内核理解的组合键。
启用 SysRq:
echo 1 > /proc/sys/kernel/sysrq
Run Code Online (Sandbox Code Playgroud)
现在,将其发送到重新启动。
echo b > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
b
- 立即重启系统,无需卸载或同步文件系统。
笔记:
虽然这是一个reboot
它会表现得像电源已经被切断,这是不推荐的。
如果你想sync
和umount
前手的文件系统,然后使用:
echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想关闭系统电源,则:
echo o > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
魔法组合键
还有一些由内核解释的组合键:
Alt+ SysRq / Print Screen+Command Key
命令键:
R- 从 X 控制键盘。
E- 向所有进程发送 SIGTERM,允许它们正常终止。
I- 向所有进程发送 SIGKILL,迫使它们立即终止。
S- 将数据刷新到磁盘。
U- 以只读方式重新挂载所有文件系统。
B- 重启。
神奇的 SysRq 键的一个常见用途是安全重新启动 Linux 计算机,否则该计算机已锁定。
- 按住Alt和SysRq(打印屏幕)键。
- 在按住这些键的同时,按顺序键入以下键,间隔几秒钟:REISUB。
- 计算机应该重新启动。
记住这些的方法是:
“ - [R EBOOT é VEN我˚F小号ystem ù tterly乙roken”或简称为单词“忙”读向后。
参考
Magic SysRq Key Wiki
Fedora SysRq
讨厌的方法是shutdown -h -n now
。
请注意,这不会进行任何清理,因此文件系统可能会变得不一致、数据库损坏等,但它会非常快速地关闭系统。
一些发行版提供的poweroff
命令比shutdown
.
使用它:
poweroff -f
Run Code Online (Sandbox Code Playgroud)
将执行磁盘同步,然后关闭电源。这是一个很好的折衷方案,既可以提高速度,又可以执行最小程度的关闭,以确保文件系统不被损坏。