资讯专栏INFORMATION COLUMN

强制重启Linux系统的几种方法

Tecode / 2426人阅读

摘要:注意下面这些强制重启的方法都是直接跳过文件系统及等操作,可能导致数据损坏,不在特殊情况下请勿使用。运行下面两条命令就可以直接强制重启系统相应的直接强制关机的命令方法如果未开启或者不起作用,可以尝试使用重启方法。

实际生产环境中某些情况下 Linux 服务器系统在出现致命错误需要远程进行重启,通过常规的 reboot、init 6 等方法无法正常重启(例如重启时卡在驱动程序里等情况),这时就需要通过下面介绍的几种特殊的方法进行强制重启。

注意

下面这些强制重启 Linux 的方法都是直接跳过 umount 文件系统及 sync 等操作,可能导致数据损坏,不在特殊情况下请勿使用。另外当然这些都是需要 root 超级用户权限的哦。

reboot 命令
直接通过运行 reboot -nf 命令,这样重启时可以指定跳过 init 的处理和 sync 操作,这样可以避免大多数情况下的问题。

magic SysRq key 方法
magic SysRq key 通过 proc 接口提供用户直接发底层命令给 kernel 的功能,可以实现关机、重启、宕机等操作,Linux kernel 需要开启 CONFIG_MAGIC_SYSRQ 才可以支持 magic SysRq key。

运行下面两条命令就可以直接强制重启系统:

[root@localhost ~]# echo 1 > /proc/sys/kernel/sysrq
[root@localhost ~]# echo b > /proc/sysrq-trigger

相应的直接强制关机的命令:

[root@localhost ~]# echo 1 > /proc/sys/kernel/sysrq
[root@localhost ~]# echo o > /proc/sysrq-trigger

watchdog 方法
如果 Linux kernel 未开启 magic SysRq key 或者不起作用,可以尝试使用 watchdog 重启方法。watchdog 通过监控数据输入是否正常可以实现在系统出现异常时自动重启系统,这里我们刚好可以借用的。

首先需要加载 watchdog 支持,这个和主板硬件设备有关,如果只需要软件模拟的,可以运行:

[root@localhost ~]# modprobe softdog

命令加载软件 watchdog 支持,接着再运行:

[root@localhost ~]# cat /dev/watchdog

命令,该命令会马上退出并报错,同时系统日志中就会提示:

softdog: Unexpected close not stopping watchdog!

这就表示 watchdog 设备是被意外关闭的而不是正常停止的,大约等待 60 秒之后你就会发现 Linux 系统自动重启了。Linux watchdog 的异常等待时间是通过 /proc/sys/kernel/watchdog_thresh 设置的,一般默认为 60 秒。

IPMI 方法
上面几种方法都不能用?如果你的主板刚好支持 IPMI 管理接口的话,那可以直接通过 IPMI 实现硬件上的强制关机或重启。

首先加载 IPMI 支持:

[root@localhost ~]# modprobe ipmi_msghandler ipmi_devintf ipmi_si

确认 IPMI 设备是否已找到:

[root@localhost ~]# ls -l /dev/ipmi*

如果输出正常的话表示 IPMI 被正确加载了,接着安装 ipmitool 管理工具。ipmitool 可以通过 IPMI 接口完成对本机或远程主机的一系列管理操作。

这里我们就用直接电源管理的,重启系统:

[root@localhost ~]# ipmitool power reset

运行完成后主机就会马上重启,相应的关闭主机可以运行命令:

[root@localhost ~]# ipmitool power off

ipmitool 还可以实现在系统未启动时远程查看监控主板硬件状态等功能,在 IPMI 可用的情况下 ipmitool 还是比较方便好用的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/126185.html

相关文章

  • 如何优雅的退出应用和处理崩溃异常并重启

    摘要:退出应用的几种方式退出应用的方式很多,常见的也就下面四种。当发生时会转入该函数来处理如果用户没有处理则让系统默认的异常处理器来处理如果需要重启重启应用,得使用重启应用结束应用我们的方法用于弹出和收集信息。 写在前面 这是最近一些朋友问我的问题,我把它整理成了一个库,供大家享用,GitHub 地址:https://github.com/nanchen2251/AppManager 从四个...

    learn_shifeng 评论0 收藏0
  • 如何优雅的退出应用和处理崩溃异常并重启

    摘要:退出应用的几种方式退出应用的方式很多,常见的也就下面四种。当发生时会转入该函数来处理如果用户没有处理则让系统默认的异常处理器来处理如果需要重启重启应用,得使用重启应用结束应用我们的方法用于弹出和收集信息。 写在前面 这是最近一些朋友问我的问题,我把它整理成了一个库,供大家享用,GitHub 地址:https://github.com/nanchen2251/AppManager 从四个...

    sunny5541 评论0 收藏0
  • 史上最全阿里 Java 面试题总结

    摘要:以下为大家整理了阿里巴巴史上最全的面试题,涉及大量面试知识点和相关试题。的内存结构,和比例。多线程多线程的几种实现方式,什么是线程安全。点击这里有一套答案版的多线程试题。线上系统突然变得异常缓慢,你如何查找问题。 以下为大家整理了阿里巴巴史上最全的 Java 面试题,涉及大量 Java 面试知识点和相关试题。 JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节。 S...

    winterdawn 评论0 收藏0
  • 软件测试工作中需要的Linux知识,一篇文章就够了

    摘要:的发行版说简单点就是将与应用软件做一个打包目前市面上比较知名的发行版有等等。为什么要学习项目服务器一般都是系统,负责搭建及维护测试环境,负责跟踪及定位。也属于一个通信协议是协议的一部分。 ...

    canger 评论0 收藏0
  • 【学习笔记】Linux基础部分

    摘要:查看系统物理个数命令查看每个物理的内核个数查看系统所有逻辑的个数所有物理中内核个数加上超线程个数查看系统内存信息根据上图可以清楚看出系统的物理内存大约有,可用物理内存大约为,缓冲内存为,缓存占用等。其中有四个分区,同样也分了四个盘。 学习笔记 Day one ----------2019.07.27---------- 第一~二章 省略基础知识部分 Linux发行版本选...

    arashicage 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<