linux 重启命令 五种常用重启指令详解
linux 重启命令一共有五种常用写法,分别是 reboot init 6 shutdown r systemctl reboot halt p,都是用来重启主机,但是底层调用逻辑适用场景有区别,运维远程操作服务器经常会用到,执行重启会中断当前所有业务,正式操作前一定要确认业务状态,避免造成线上停机。很多新手只知道 reboot,不清楚其他几种命令的差别,也不知道 init 6 属于老系统运行级别方式,现在 systemd 系统依然兼容,下面分模块深度讲解。
一 五种重启命令介绍
| 命令 | 说明 |
|---|---|
| reboot | 最常用重启命令,简单直接,systemd 系统通用,远程运维首选 |
| init 6 | 传统 SysVinit 运行级别重启,6 代表重启级别,老系统常用,新版 systemd 兼容支持 |
| shutdown -r now | shutdown 带 r 参数,r 代表重启,now 代表立刻执行,也可以设置延时重启 |
| systemctl reboot | systemd 原生重启命令,centos7 之后新系统推荐,和 systemd 管理体系统一 |
| halt -p | halt 原本是停机命令,搭配 p 参数特殊用法,部分环境可触发重启,日常不推荐作为主用重启命令 |
二 详细用法说明
第一种 reboot
直接输入 reboot 回车,系统马上开始重启,需要 root 权限或者 sudo 提权
sudo reboot
第二种 init 6
init 6
含义就是切换到运行级别 6,运行级别 6 定义就是系统重启,老式运维教材经常使用这条命令。
第三种 shutdown -r now
shutdown -r now
如果需要延时重启,可以写成 shutdown -r +10,代表十分钟之后重启,还可以提前取消,执行 shutdown -c 取消计划重启。
第四种 systemctl reboot
systemctl reboot
属于 systemd 标准命令,现代主流发行版 centos7 8 9 ubuntu 都推荐这条命令。
第五种 halt -p
halt 本身功能是停止 CPU,部分版本参数组合可以完成重启,因为语义容易混淆,日常生产不优先使用,一般还是使用前面四种。
三 操作注意事项
1 重启会断开 ssh 远程连接,所有正在运行的服务进程都会终止
2 线上业务服务器重启前,建议先停止业务,确认数据库已经安全落盘,防止数据损坏
3 普通用户执行重启命令需要 sudo 提权,否则会提示权限不足
4 如果系统高负载卡死,普通重启命令没有响应,可以使用强制重启方式,但是强制重启有文件系统损坏风险
四 补充区分
shutdown 除了立刻重启,还支持定时重启,这个是它独有的优势,其他几条命令大多是立刻执行。init 6 属于兼容旧机制,新学习优先掌握 reboot 和 systemctl reboot。
【常见问题】
问题 1 linux 重启命令里面 reboot 和 systemctl reboot 哪个更好
回答 1 linux 重启命令,centos7 之后 systemd 系统推荐 systemctl reboot,reboot 是兼容通用写法,两种都可以正常完成重启,日常使用 reboot 更简短。
问题 2 linux 重启命令 init 6 是什么原理
回答 1 linux 重启命令 init 6 是传统运行级别机制,运行级别 6 定义就是重启,新版 systemd 系统保留兼容,依然可以执行成功。
问题 3 linux 重启命令 shutdown -r 能不能延时重启
回答 1 linux 重启命令 shutdown -r 支持延时,shutdown -r +30 代表三十分钟之后重启,执行 shutdown -c 可以取消这次定时重启计划。
问题 4 linux 重启命令执行之后 ssh 马上断开吗
回答 1 linux 重启命令执行之后,系统开始关机重启,ssh 远程连接会立刻断开,等待主机重新启动完成之后,才可以重新连接。
【免责申明】
本文介绍 linux 重启命令相关内容仅作为技术学习参考,重启操作会中断线上业务,操作前确认业务状态,本文不对重启造成的业务停机数据异常承担责任。
