Linux提供了多种命令用于关机、重启以及管理系统运行级别。这些命令适用于不同的使用场景,例如立即关机、延迟关机、取消计划的关机等。
Linux 关机重启命令详解
1. shutdown
命令
shutdown
是一个功能强大的系统关机或重启命令,支持定时操作和提前通知。
基本语法:
shutdown [选项] [时间] [警告消息]
常用选项:
-h
:关闭系统(关机)。-r
:重启系统。-c
:取消已计划的关机。now
:立即执行。+m
:延迟m
分钟后执行。time
:指定具体时间(24小时格式,如15:30
)。
示例:
立即关机:
shutdown -h now
延迟5分钟后关机:
shutdown -h +5
立即重启:
shutdown -r now
指定时间关机:
shutdown -h 23:00
取消计划的关机:
shutdown -c
发送关机通知:
shutdown -h +10 "系统将在10分钟后关闭,请保存工作。"
2. reboot
命令
reboot
用于快速重启系统。
基本语法:
reboot [选项]
示例:
立即重启:
reboot
强制重启(忽略挂载文件系统的检查):
reboot -f
3. halt
命令
halt
用于停止所有系统操作,类似于关机,但不会关闭电源(在部分系统中会关闭电源)。
基本语法:
halt [选项]
示例:
立即停止系统:
halt
强制停止系统:
halt -f
显示而不执行停止操作:
halt --dry-run
4. poweroff
命令
poweroff
是执行关机并关闭电源的命令。
基本语法:
poweroff [选项]
示例:
立即关机并关闭电源:
poweroff
强制关闭电源:
poweroff -f
5. systemctl
命令
现代Linux系统(如基于 systemd
的发行版)推荐使用 systemctl
命令管理系统的关机、重启等操作。
基本语法:
systemctl [操作] [目标]
示例:
立即关机:
systemctl poweroff
立即重启:
systemctl reboot
关闭系统但不关闭电源:
systemctl halt
进入紧急模式:
systemctl emergency
进入救援模式:
systemctl rescue
6. init
命令
init
是管理系统运行级别的传统工具,也可以用于关机和重启。
基本运行级别:
0
:关机。6
:重启。
基本语法:
init [运行级别]
示例:
立即关机:
init 0
立即重启:
init 6
7. telinit
命令
telinit
是 init
的一个软链接,用于改变运行级别。
示例:
关机:
telinit 0
重启:
telinit 6
8. pkill
命令
pkill
可以通过终止进程来关闭或重启系统。
示例:
关机:
pkill -u root
重启:
pkill -HUP init
常见关机与重启对比表
| 命令 | 用途 | 示例 |
| ———– | ————————- | ——————– |
| shutdown
| 定时或立即关机/重启 | shutdown -h now
|
| reboot
| 快速重启系统 | reboot
|
| halt
| 停止系统但不一定关闭电源 | halt
|
| poweroff
| 关机并关闭电源 | poweroff
|
| systemctl
| 使用 systemd 管理系统状态 | systemctl poweroff
|
| init
| 切换到运行级别关机/重启 | init 0
|
| telinit
| 改变运行级别关机/重启 | telinit 6
|
| pkill
| 终止用户进程实现关机/重启 | pkill -u root
|
注意事项
- 权限要求:关机和重启命令通常需要管理员权限,需使用
sudo
。 - 通知用户:在多用户环境下,应使用
shutdown
命令发送通知,避免影响其他用户。 - 数据保存:在关机或重启前,确保数据已保存,防止数据丢失。
- 计划任务:如需计划关机,可结合
cron
使用,设置定时任务。