欢迎光临清远市中国转运网
详情描述

Linux服务器重启有多种命令和方法,选择哪个取决于你的具体需求(如是否需要延迟、是否强制等)。以下是常用的重启命令汇总:

1. 常用重启命令

reboot

sudo reboot
  • 最常用的重启命令,会正常关闭进程并重启系统。

shutdown -r

sudo shutdown -r now          # 立即重启
sudo shutdown -r +5          # 5分钟后重启
sudo shutdown -r 20:30       # 在20:30重启
sudo shutdown -r +5 "系统即将重启"  # 5分钟后重启并发送提示消息
  • 支持定时重启和向用户发送警告信息。

init 6

sudo init 6
  • 切换到运行级别6(重启),适用于SysV init系统。

systemctl reboot

sudo systemctl reboot
  • Systemd系统首选命令,会正常重启。

2. 紧急或强制重启

reboot -f

sudo reboot -f
  • 强制重启(跳过正常关闭流程),可能损坏数据,慎用。

echo b > /proc/sysrq-trigger

echo b | sudo tee /proc/sysrq-trigger
  • 通过SysRq触发强制重启(需内核支持),用于系统完全无响应时。

3. 远程服务器重启注意事项

  • 推荐使用 shutdown 定时重启,避免立即断开连接:
    ssh user@server "sudo shutdown -r +2 '维护重启,请保存工作'"
  • 重启前建议检查关键服务状态,并通知用户。

4. 重启命令对比表

命令 适用场景 特点
reboot 快速重启 简单直接,默认延迟1分钟(可通过-f立即执行)
shutdown -r 计划重启 支持定时、发消息通知用户
systemctl reboot Systemd系统 系统推荐,行为与reboot类似
init 6 SysV init系统 传统系统兼容,部分发行版仍支持
reboot -f 紧急情况 强制跳过正常关闭,可能导致数据丢失

5. 最佳实践建议

生产服务器:优先使用 shutdown -r +时间 "提示",给用户缓冲时间。 自动化脚本:使用 systemctl reboot(Systemd)或 reboot系统卡死时:尝试 SysRq (echo b > /proc/sysrq-trigger) 作为最后手段。 重启前检查
who                 # 查看在线用户
systemctl list-jobs # 检查后台任务

6. 示例:安全重启流程

# 1. 通知用户
sudo wall "服务器将在5分钟后重启,请保存工作!"

# 2. 延迟重启(允许用户取消)
sudo shutdown -r +5 "例行维护重启"

# 3. 如需取消重启
sudo shutdown -c

总结

  • 日常重启sudo rebootsudo systemctl reboot
  • 计划重启sudo shutdown -r
  • 避免直接使用强制重启命令(除非紧急情况)。