或者是shutdown -h now
它能达到的最快速度?
我寻找一些系统调用或类似的东西,它们将允许跳过关闭之前完成的许多事情(特别是关心正在运行的进程)。
充其量我想要一个与内核相关的解决方案,对init
中间件(如systemd
或upstart
)一无所知。
与 ie 直接杀死所有服务(如 cups/apache/pulseaudio 等)相关的风险...我不在乎...
备注:解决方案应该是软件副。按设备上的按钮不是我想要的。
答案1
它并不比使用系统请求 (SysRq) 功能然后触发即时reboot
.
这是内核可以理解的组合键。
启用 SysRq:
echo 1 > /proc/sys/kernel/sysrq
现在,将其发送到重新启动。
echo b > /proc/sysrq-trigger
b
- 立即重新启动系统,无需卸载或同步文件系统。
笔记:
虽然这是一个,但reboot
它会表现为电源已被切断,但不建议这样做。
如果您想预先sync
设置umount
文件系统,请使用:
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- 重启。
引用自魔法 SysRq 密钥 Wiki:
SysRq 神奇密钥的常见用途是对已锁定的 Linux 计算机执行安全重启。
- 按住Alt和SysRq(打印屏幕)键。
- 按住这些键的同时,按顺序键入以下键,间隔几秒钟:瑞斯。
- 计算机应该重新启动。
记住这些的方法是:
”右电子引导乙文我FS系统U特利乙roken”或简单地说“忙碌“向后读。
参考
答案2
令人讨厌的方法是shutdown -h -n now
。
请注意,这不会进行任何清理,因此文件系统可能会不一致、数据库损坏等,但它会非常快地关闭系统。
答案3
一些发行版提供的poweroff
命令比shutdown
.
使用它:
poweroff -f
将执行磁盘同步,然后关闭电源。这是一个很好的折衷方案,既可以提高速度,又可以执行最少的关闭以确保文件系统不会损坏。
答案4
尝试使用 init 命令:
init 0