Linux 关机和重启命令
重新启动 Linux 系统和关闭 Linux 系统推荐使用 shutdown
命令。下面分别介绍 Linxu 系统的重启和关机命令:shutdown
, reboot
, init
, systemctl
, halt
, poweroff
等。本篇所有命令以 root 运行,普通用户需要使用 sudo.
shutdown
该命令需要 root 权限,且功能比较强大,像 reboot
,halt
等都是基于该命令。
shutdown
命令比较安全,使用该命令后,它会在系统关闭之前给系统上的所有登录用户一条警告。同时该命令搭配不同的参数,可以设置不同的重启操作。
该命令的一般格式: shutdown [选项] [时间] [警告信息]
选项的含义:
- k: 并不真正关机而只是发出警告信息给所有用户
- r: 关机后立即重新启动
- h: 关机后不重新启动
- f: 快速关机重启动时跳过fsck
- n: 快速关机不经过init 程序
- c: 取消一个已经运行的shutdown
reboot
reboot
命令比较粗暴,重启系统时直接删除所有进程,不是平稳安全的关闭它们。但简单粗暴的它可以快速关闭系统。容易造成其他用户的数据丢失。所以建议在单用户模式下才使用 reboot
命令,在多用户模式下使用 shutdown
命令。
init
init
命令主要用于切换系统的运行级别,切换是立即完成的。
init 0
:表示将运行级别切换为 0,表示关机;
init 6
:表示将运行级别切换为 6,表示重启。
halt
该命令类似于 reboot
,是相对简单的关机命令。但实质上是调用了 shutdown -h
,但它有如下一些恐怖的参数
- f: 没有调用 shutdown 而强制关机或重启
- i: 关机或重新启动之前,关掉所有的网络接口
- p: 关机时调用
poweroff
,此选项为缺省选项
poweroff
poweroff 命令用来关闭计算机操作系统并且切断系统电源。它有如下参数
- n:关闭操作系统时不执行 sync 操作;
- w:不真正关闭操作系统,仅在日志文件 “/var/log/wtmp” 中;
- d:关闭操作系统时,不将操作写入日志文件 “/var/log/wtmp” 中添加相应的记录;
- f:强制关闭操作系统;
- i:关闭操作系统之前关闭所有的网络接口;
- h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
如何重启
下面总结一些常用的重启命令:
立即安全的重启(推荐的命令),可以考虑参数 r 与 reboot 对应
1 | shutdown -r now |
10分钟后重启
1 | shutdown -r +10 |
立刻重启
1 | reboot |
常用关机命令
下面总结一些常用的关机命令:
立即安全的关机(推荐的命令),可以考虑参数 h 与 halt 对应
1 | shutdown -h now |
10分钟后关机
1 | shutdown -h +10 |
晚上18:30关机
1 | shutdown -h 18:30 |
在未来某天某时关机
1 | echo "shutdown -h +5" | at 10:05am 2022-01-19 |
关机时广播指定信息
1 | shutdown -h +20 "System Upgrade" |
立刻关机
1 | halt |
取消定时关机
1 | shutdown -c "Canceling System Upgrade" |