答案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
值。