linux 重新启动命令主要有 reboot、shutdown -r、init 6 这几种,这几条都可以实现 Linux 操作系统重启,底层原理都是调用系统关机重启流程,通知所有进程优雅退出,保存数据,然后触发硬件重启,reboot 是最简洁最常用的 linux 重新启动命令,直接执行就可以重启,shutdown -r 支持延时重启和定时重启,还可以提前给在线登录用户发送提示消息,适合生产环境,init 6 是传统 SysVinit 体系的重启方式,现在大部分现代发行版已经切换 systemd,但是命令依然兼容保留,执行 linux 重新启动命令一般需要 root 权限,普通用户直接执行会提示权限不足,需要前面加 sudo,重启之前一定要确认业务服务状态,数据库这类业务最好先正常停止,避免强制重启造成数据损坏,远程 SSH 连接的服务器执行重启之后,ssh 会话会断开,需要等待机器启动完成之后再重新连接,很多新手分不清重启和关机命令,shutdown -h 是关机,shutdown -r 是重启,参数 r 代表 reboot,h 代表 halt,不要搞混。

一 核心重启命令

1 reboot 最常用

reboot

立刻重启系统

sudo reboot 普通用户加提权

2 shutdown -r 支持延时定时

立刻重启

sudo shutdown -r now

延时 10 分钟重启

sudo shutdown -r +10

指定时间重启,比如凌晨 2 点

sudo shutdown -r 02:00

取消已经设置的定时重启

sudo shutdown -c

3 init 6 传统重启命令

sudo init 6

老式 SysVinit 运行级别方式,6 代表重启运行级别,systemd 系统仍然兼容

二 命令对比表格

命令特点是否支持延时适用场景
reboot简单直接,立即重启不支持日常快速重启
shutdown -r可定时延时,可通知用户支持生产业务变更
init 6传统运行级别重启不支持老系统兼容

三 深度补充要点

1 权限要求:重启属于系统级操作,必须 root 或者 sudo 权限

2 systemd 系统还可以使用 systemctl reboot,和 reboot 效果一致

3 强制重启:如果系统卡死无响应,正常 linux 重新启动命令失效,可以使用内核魔法键强制重启,或者硬件复位,但是强制重启容易丢失未保存数据,不推荐常规使用

4 重启前建议执行 sync,把内存缓存数据写入磁盘,降低数据损坏风险

5 远程服务器重启之后,可以等待 1 到 3 分钟,再尝试 ssh 重新连接,系统启动需要加载服务

【常见问题】

问题 1 linux 重新启动命令 reboot 和 shutdown -r 有什么区别

回答 1 linux 重新启动命令 reboot 是立即重启,没有延时功能,shutdown -r 这个 linux 重新启动命令支持延时定时,还可以通知在线用户,生产环境变更优先使用 shutdown -r。

问题 2 普通用户可以直接执行 linux 重新启动命令吗

回答 1 linux 重新启动命令属于系统高危操作,普通用户默认不能直接执行,执行 linux 重新启动命令需要加 sudo 提权,或者切换 root 用户之后再执行。

问题 3 linux 重新启动命令执行之后 ssh 为什么断开

回答 1 linux 重新启动命令执行之后操作系统会关闭所有服务,包括 sshd 远程连接服务,所以 ssh 会话自动断开,等待系统启动完成,sshd 服务自动拉起之后,就可以重新 ssh 连接,这是 linux 重新启动命令正常现象。

【免责申明】

本文 linux 重新启动命令相关内容仅作为技术学习参考,重启会中断服务器上所有业务,生产环境执行 linux 重新启动命令前确认业务状态,提前通知相关人员,避免造成业务中断,操作风险由使用者自行承担。