1. shutdown 简介
shutdown 命令可以用于 halt(停止系统运行)、关闭电源(power-off)或重启电脑,还可以给其他登录的用户发送消息。平时用的比较多的就是用于关机(shutdown now)。
2. 语法
shutdown [OPTIONS] [TIME] [WALL]
3. 常用命令
3.1. shutdown now
立即关机。平时开发、学习经常用,是最常用的关机命令。
[root@kylin ~]# shutdown now
Connection closing...Socket close.
Connection closed by foreign host.
Disconnected from remote host(192.168.1.111:22) at 20:57:18.
3.2. shutdown +10 系统将在10分钟后关闭,请及时保持数据!!
[root@kylin ~]# shutdown +10 系统将在10分钟后关闭,请及时保持数据!!
3.3. shutdown --halt
[root@kylin ~]# shutdown --halt
执行后系统会被关闭到一个无法交互的状态。要恢复运行,需要重新开机,方法有如下几种:
- 如果服务器就在手边,通过长按电源按钮进行硬重启;
- 如果是远程服务器并且支持远程管理,则可以通过如 IPMI,DRAC 等工具发送远程重启命令;
- 如果是虚拟机,如 VMWare,则可以通过相应的控制台界面来重启,本文就是虚拟机环境,直接通过 VMWare 软件界面进行重启。
该命令并不常用。列在这里,主要是来了解一下 halt 的效果。
这是 CentOS7 halt 的效果:
图上看出电脑还没有断电,但实际已经无法操作了。
这是 Kylin Server V10 halt 的效果:
同样电脑还没有断电,但实际已经无法操作了。
halt 之后,要恢复运行,只能重新开机了:
3.4. shutdown -k +2
只发送消息,并不实际 halt、poweroff、reboot 系统。
# 只发送消息
[root@kylin ~]# shutdown -k +2
Shutdown scheduled for Wed 2023-12-20 20:37:13 CST, use 'shutdown -c' to cancel.
# 其它登录用户会收到如下消息:这个消息具有欺骗性,因为实际并不会真的 poweroff
Broadcast message from root@kylin on pts/0 (Wed 2023-12-20 20:36:13 CST):
The system is going down for poweroff at Wed 2023-12-20 20:37:13 CST!
3.5. shutdown -c
取消前面提交的 shutdown 计划。反悔了就用它。
[root@kylin ~]# shutdown -c
4. shutdown 命令详解
详细选项说明如下:
- 参数 [TIME],可选,是一个时间字符串,格式有如下 3 种:
- 24 小时制的 “hh:mm”,指定在几点几分执行。
- +m,指定在 m 分钟后执行,默认情况就是 “+1”即 1 分钟后执行。
- now:是 +0 的别名,表示立即执行。
- 参数 [WALL],可选,指定墙消息;如果指定了 [WALL],则必须指定 [TIME],否则 [WALL] 字符串会被当做时间来解析从而报错。
有时会不小心执行了 shutdown -h 命令,误以为是查看帮助,但实际上是关机[捂脸](有么有同类[呲牙])。上的当多了,现在查看帮助都用长命令了。
5. 类似的命令
- halt: 系统会被关闭到一个无法交互的状态
- reboot: 重启系统
- poweroff: 让系统关闭电源
- init 0 关机(Linux 系统有 7 个运行级别)
- 级别0:关机模式,系统完全停止,关闭所有服务和进程。
- 级别1:单用户模式,只有 root 可以登录,用于系统维护和故障排除。
- 级别2:多用户模式(允许多个用户登录),没有网络连接。
- 级别3:多用户模式,有网络连接。
- 级别4:保留,大多数 Linux 发行版中,该级别没有特殊用途,可以自定义。
- 级别5:图形界面模式,允许多个用户登录并提供图形界面。
- 级别6:重启模式,系统会先关闭所有服务和进程,然后重新启动。
- init 6 重启
Enjoy[啤酒]