麒麟系统定时关机可通过四种方式实现:一、crontab设置周期性关机,需root权限编辑任务并重启cron服务;二、at命令执行一次性关机,须启用atd服务;三、shutdown命令倒计时关机,支持取消;四、init 0强制关机,适用于shutdown失效场景。

如果您希望在麒麟操作系统中通过命令行方式配置定时关机任务,则需依赖系统级计划任务服务 cron 或一次性调度工具 at。以下是多种可直接执行的命令配置方法:
一、使用 crontab 设置周期性定时关机
crontab 是 Linux 系统内置的周期性任务调度工具,适用于每日、每周等重复性关机场景,需以 root 权限编辑任务列表并指定绝对路径的关机命令。
1、以管理员身份进入 root 用户环境:sudo su
2、编辑 root 用户的定时任务表:crontab -e
3、在打开的编辑器中插入一行任务指令,例如设置每天 22:30 关机:30 22 * * * /sbin/shutdown --poweroff 0
4、保存并退出编辑器(如使用 nano:按 Ctrl+O 回车保存,Ctrl+X 退出;如使用 vim:按 Esc 键后输入 :wq 回车)
5、重启 cron 服务使新任务生效:systemctl restart cron
二、使用 at 命令设置一次性定时关机
at 工具适用于仅执行一次的关机任务,适合临时安排,无需长期驻留任务表,但需确保 atd 服务已启用并运行。
1、确认 at 服务已安装:apt-get install at
2、启动并启用 atd 守护进程:systemctl enable --now atd
3、提交一条关机指令,例如设定 19:45 执行关机:echo "/sbin/shutdown -h now" | at 19:45
4、验证任务是否提交成功:atq
三、使用 shutdown 命令设置倒计时关机
shutdown 命令支持相对时间参数,适合快速发起数分钟后的关机,不依赖后台服务,执行后即生效,但不可取消除非手动干预。
1、在终端中执行倒计时关机指令,例如 30 分钟后关机:sudo shutdown -h +30
2、若需取消已设定的 shutdown 计划:sudo shutdown -c
3、查看当前 pending 的 shutdown 状态(如有):sudo shutdown -k
四、通过绝对路径调用 init 实现强制关机调度
在部分银河麒麟桌面版本中,/sbin/init 0 可替代 shutdown 命令触发系统终止流程,该方式更底层,适用于 shutdown 命令失效或权限受限场景。
1、编辑用户级 crontab(非 root):crontab -e
2、添加任务行,例如每日 23:55 执行:55 23 * * * /sbin/init 0
3、保存退出后,检查任务是否写入:crontab -l
4、确认 /sbin/init 具备可执行权限:ls -l /sbin/init










