Linux系统可通过shutdown、at、cron和systemd timer四种命令实现定时关机:shutdown支持相对/绝对时间一次性关机;at适用于单次精确时间任务;cron用于周期性关机;systemd timer为现代发行版推荐方案,支持精确控制与日志审计。
如果您希望Linux系统在指定时间或延时后自动关机,则可通过内置命令工具实现。以下是多种可行的操作方法:
一、使用shutdown命令设置一次性定时关机
shutdown是Linux标准关机工具,支持相对时间和绝对时间两种模式,所有操作均需root权限或sudo提权。该命令会在关机前向所有登录用户广播通知,并预留默认60秒缓冲期(可自定义)。
1、执行10分钟后关机:sudo shutdown -h +10
2、执行当天23:45关机:sudo shutdown -h 23:45
3、立即关机(无延迟):sudo shutdown -h now
4、附加自定义提示消息:sudo shutdown -h +15 “系统将在15分钟后维护关机,请保存工作”
5、取消已设定的定时任务:sudo shutdown -c
二、使用at命令执行单次定时关机
at命令适用于仅需执行一次的精确时间关机任务,不依赖周期性调度机制,适合临时性安排。需确保atd服务正在运行,且用户在/at.allow中被授权或未被/at.deny排除。
1、启动atd服务(如未启用):sudo systemctl start atd
2、设置今晚22:05执行关机:echo “/sbin/shutdown -h now” | at 22:05
3、查看待执行的at任务:atq
4、删除编号为3的待执行任务:atrm 3