终端命令硬关机和硬重启

终端命令硬关机和硬重启

我想通过终端进行硬重启和硬关机(立即关机并重启)。

这可以通过终端命令实现吗?

请注意,这里没有答案如何从终端关闭或重启?问题是立即关机还是重启。所以这不是重复。

答案1

笔记:在运行以下命令之前保存所有工作文档。

硬关机的终端命令,

sudo sh -c "echo o > /proc/sysrq-trigger"

硬重启的终端命令,

sudo sh -c "echo b > /proc/sysrq-trigger"

答案2

Alt执行+ SysRq+( R, E, I, S, U)B or O比强制执行更安全难的重启。

  • R将键盘从原始模式切换到 XLATE 模式
  • ESIGTERM 除 init 之外的所有命令
  • ISIGKILL 除了 init 之外的所有
  • S同步已挂载的文件系统
  • U以只读模式重新挂载已挂载的文件系统
  • B重新启动系统,或者O关闭系统

如果您确实想要,您可以直接Alt+ SysRq+B/O重新启动/停止,但这样做会使文件系统面临风险。执行上述所有操作相对安全,即使系统其余部分已发生故障,也应该可以正常工作。

这本质上与您在命令中讨论的方法相同,但我不确定您是否可以编写 E 和 I 脚本(因为它们会破坏您的终端访问)。但您绝对可以处理磁盘访问并重新启动或关闭。

for i in s u b; do echo $i | sudo tee /proc/sysrq-trigger; sleep 5; done  # reboot
for i in s u o; do echo $i | sudo tee /proc/sysrq-trigger; sleep 5; done  # halt

您仍可能会丢失正在运行的应用程序的数据,但这不会破坏您的文件系统。如果您拥有特别大的磁盘写入缓存,最好增加该sleep值。

相关内容