关机前的文案只能通过 shutdown 命令的 message 参数临时指定,无全局配置;省略该参数则无任何提示,systemd 服务和 /etc/issue、/etc/motd 均无法实现关机广播。

关机前的文案不能直接“修改”,只能通过 shutdown 命令传参临时指定;系统本身没有全局配置文件让你一劳永逸地替换默认提示。
shutdown 命令带 message 参数是最直接有效的方式
CentOS 7 的 shutdown 默认不显示固定文案,它只在有明确 message 参数时才广播给所有登录用户。所谓“关机前文案”,本质就是这条广播内容。
-
shutdown -h now "数据库服务将在30秒后停止,请勿提交新请求"—— 立即关机并推送自定义消息 -
shutdown -h +5 "系统维护,5分钟后关机"—— 延迟关机,消息会提前广播 - 如果省略
message(如shutdown -h now),则不会有任何文字提示,只执行关机流程 - 消息长度无硬限制,但过长可能被截断或影响终端显示,建议控制在 100 字以内
systemd 服务无法接管 shutdown 的用户提示
有人尝试用 systemd 服务(如 cust_shut.service)在关机前写日志或发通知,但这不会影响 shutdown 命令本身的广播行为。systemd 服务运行在关机流程中较晚阶段,此时 TTY 已冻结、用户 session 大多已断开,无法可靠弹出或广播文案。
- 你写的脚本可以记录日志(比如往
/var/log/shutdown.log写入),但不能替代shutdown的实时用户提示 - 想让普通用户看到提示,必须依赖
shutdown自带的message参数机制 -
Before=systemd-poweroff.service这类设置只控制服务执行顺序,不提供 UI 或终端输出能力
别碰 /etc/issue 或 /etc/motd —— 它们和关机无关
这两个文件控制的是登录前(/etc/issue)或登录后(/etc/motd)的欢迎信息,关机过程完全不读取它们。改了也没用,纯属白忙。
-
/etc/issue:显示在本地 TTY 登录界面之前,仅对 tty1–tty6 生效 -
/etc/motd:SSH 登录后显示,只对 shell session 有效 - 关机广播走的是 systemd-logind + kernel console 通道,和这些文件毫无关系
真正能被用户看到的关机提示,只存在于 shutdown 命令执行那一刻——没传 message,就真的什么也不说。这点容易被忽略,尤其当管理员习惯用 poweroff 或 halt 时,它们根本不支持文案参数。











