命令简介
shutdown 指令可以关闭所有程序,并依用户的需要,进行重启或关机操作。 :::tips 使用 shutdown 命令时,在系统关机前,可以通知所有登录者系统将要关闭。此时 login 指令会被冻结,新用户将不能再登录,这是推荐使用的安全关机方式。关机之前,所有进程都会受到 shutdown 指令所发送的关闭进程信号,然后向 init 程序发送信号,要求它改变运行等级(runlevel)。 :::
Linux 系统有 7 个运行级别:
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动;
- 运行级别1:单用户工作状态,root 权限,用于系统维护,禁止远程登录;
- 运行级别2:多用户状态(没有 NFS);
- 运行级别3:完全的多用户状态(有 NFS),登录后进入控制台命令行模式;
- 运行级别4:系统未使用,保留;
- 运行级别5:X11 控制台,登录后进入图形 GUI 模式;
运行级别6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动。
命令格式
shutdown [选项] [参数]
选项说明
-c
: cancel,其他用户可以取消目前正在执行的关机程序,或者Control-C终止shutdown程序-k
: 仅仅向每个登录用户发出警告信息,并不真正关机-f
: 重新启动时不执行fsck文件系统检查命令;-F
: 重新启动时执行fsck文件系统检查命令;-h
: 关机(halt)或关闭电源(power off)-H
: 关机(halt);-P
: 关机,等价于 poweroff 命令-n
: 不调用 init 程序进行关机,而由 shutdown 自己进行-r
: 重启。等价于 reboot 命令-t
: <秒数> 送出警告信息和删除信息之间要延迟多少秒--help
: 显示帮助信息--version
: 显示版本常用示例
立刻关机,其中 now 相当于时间为 0 的状态。
shutdown -H now
# 或
halt
系统在今天的 20:25 分关机。
shutdown -H 20:25
系统立刻重新启动。
shutdown -r now
# 或
reboot
发送后面的警告信息,再过 30 分钟系统会自动重启。
shutdown -r +30 'The system will reboot'
仅发出警告,系统并不会关机。
shutdown -k now 'This is just a warning message'
立即关机并切断电源。
shutdown -P now
# 或
poweroff
恶作剧,仅发出警告,什么都不会发生。
shutdown +10 -k '10分钟后关机'
常见问题
shutdown -h、shutdown -H和shutdown -P的区别?
:::tips shutdown -H是关机操作,停止系统运行,但并未关闭电源,shutdown -P是关闭电源操作。shutdown -h则根据系统的默认设置来选择是否关闭电源 。关闭电源会送出 ACPI 指令通知PSU(Power Supply Unit)电源。 :::shutdown 默认操作进入单用户维护模式。
# 十分钟后进入单用户维护模式
shutdown +10
推荐阅读
shutdown(8) - Linux manual page
Linux 關機指令(shutdown、halt 與 poweroff)教學與範例 - G. T. Wang
Linux 命令(5)—— shutdown 命令_恋喵大鲤鱼的博客-CSDN博客_linux shutdown 命令