商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 银河麒麟下系统关机需要很久才能完全断电

银河麒麟下系统关机需要很久才能完全断电

  发布于2026-07-09 阅读(0)

扫一扫,手机访问

在银河麒麟桌面版上,点击关机后屏幕变暗、电源灯不灭、风扇还在转——这种看似死机的状态,其实只是关机流程被某个后台进程堵住了。解决办法并不复杂,但需要按顺序来:先缩短 systemd 的超时等待、禁用混合关机机制、清理残留的更新锁和进程,最后如果还不行,切换到 TTY 执行 sync 后再强制关机。

银河麒麟下系统关机需要很久才能完全断电

你可能会遇到这种情况:点击关机后,屏幕变暗,但电源灯就是不灭,风扇还在呼呼转,硬盘灯偶尔闪一下。这说明系统的关机流程被阻塞住了,服务停止或文件系统卸载阶段没能顺利走完,电源自然也没法真正切断。

检查并缩短 systemd 关机超时阈值

为什么关机要等那么久?因为 systemd 默认给每个服务留了 90 秒的停止等待时间。一旦有哪个服务响应慢,整个流程就得陪着等。这个设置显然太保守,我们需要主动调低。

第一步,打开终端,执行 sudo vim /etc/systemd/system.conf

第二步,找到以 #DefaultTimeoutStopSec=90s 开头的那一行,去掉开头的 # 取消注释,把 90s 改成 10s,整行变成 DefaultTimeoutStopSec=10s

第三步,保存退出后,运行 sudo systemctl daemon-reload 使配置生效。

关键点在于:只要在关机前执行过 sync,或者系统没有正在写入关键日志,这样做不会丢数据。调低后,下次关机时 systemd 就不会傻等 90 秒,而是 10 秒内强制终止无响应的服务。

禁用快速启动(Hybrid Boot)机制

银河麒麟桌面版默认启用了一种类似 Windows 的混合关机逻辑——它尝试把内核态上下文写入 swap 分区,下次开机直接加载,省去初始化时间。但问题在于,如果 swap 不可用或写入失败,关机就会进入无限等待状态。

执行命令:sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

这条命令会屏蔽所有休眠相关的目标单元,彻底关闭混合关机路径,强制系统走纯软件关机流程,不再依赖 swap 分区。

清理残留更新锁与终止阻塞进程

图形界面关机卡死,十有八九是 kylin-software-center 或 apt 后台更新进程没退出干净。它们会持有 shutdown.target 屏障,让系统一直等着。

先清除锁文件:在终端中运行 sudo rm -f /tmp/lock/kylin-update.lock

然后杀掉用户级更新进程:运行 killall -u $USER kylin-software-center apt。注意不要加 -9 参数,那样会破坏 apt 数据库的一致性,温和地终止就行。

最后检查一下是否还有残留:执行 ps aux | grep -E "(kylin|apt|update)" | grep -v grep。如果输出不为空,记下对应的 PID,手动 kill PID 即可。

强制同步后执行底层关机

如果以上步骤都试过还是无效,而且你确认磁盘仍在读写(比如硬盘灯狂闪),那说明缓存还没落盘。这时候直接断电,数据损坏的风险不小。必须先确保所有数据写入了磁盘。

按 Ctrl + Alt + F2 切换到 TTY 终端,输入用户名和密码登录。连续执行三次 sync,然后运行 sudo poweroff -f

注意,这里的 -f 参数是必需的,它会跳过服务优雅终止阶段,直接强制关机。但因为已经 sync 了三次,文件系统的安全性是有保障的。

本文转载于:https://www.php.cn/faq/2795136.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注