一种Linux系统复位处理方法及装置制造方法及图纸

技术编号:16187784 阅读:52 留言:0更新日期:2017-09-12 11:15
本发明专利技术提供了一种Linux系统复位处理方法及装置,该方法包括:监测Linux系统的复位场景;当监测到Linux系统启动复位流程时,获取复位操作的复位信息,将复位信息缓存在预设的保留内存中,其中复位信息包括复位操作的场景信息、发起者信息以及当前系统的状态信息;保留内存为系统内存中的内存空间;当监测到Linux系统执行复位操作时,启动预设内核,在所启动的预设内核中,将复位信息存储在硬盘中。本发明专利技术解决了在Linux系统进行系统复位时,复位信息难以收集,给故障定位带来困扰的问题。

Reset treatment method and device for Linux system

The invention provides a Linux system reset processing method and device, the method comprises the following steps: reduction of scene monitoring system Linux; when monitoring the startup procedure of Linux system reset, reset the reset operation information acquisition, information will reset the cache in the reserved memory preset in the reset state information in information including the reset operation scene information, as well as the originator information system; reserving memory memory in the system memory space; when monitoring Linux system performs a reset operation, start the default kernel in the default kernel boot, will reset the information stored in the hard disk. The invention solves the problem that the reset information is difficult to collect when the Linux system is reset, and brings trouble to the fault location.

【技术实现步骤摘要】
一种Linux系统复位处理方法及装置
本专利技术涉及计算机
,特别涉及一种Linux系统复位处理方法及装置。
技术介绍
Linux系统在运行的过程中经常会发生复位,复位场景通常包括:系统调用引起的复位、键盘操作引起的复位(键盘组合键)、电源按键引起的复位以及内核错误引起的复位等。对于系统调用引起的复位,通常只有部分命令行程序(关机程序shutdown、重启程序reboot、停止程序halt等)在调用系统调用之前会记录复位信息到相应的日志文件中(比如wtmp文件)中,而如果直接调用系统调用,则没有记录;然而,wtmp文件中记录的复位信息较少,无法追溯进程调用信息,无法找到复位操作的最原始的发起者。对于内核错误引起的复位,现有技术通常通过kdump服务把当前的内存镜像存储到vmcore文件中,可以通过crash等工具来解析vmcore文件,进而获得相应的复位信息;然而kdump等工具会保存当前系统的整个内存镜像,占用存储空间大、耗费时间长。而对于键盘操作引起的复位和电源按键引起的复位,现有技术难以收集相应的复位信息。因此,在Linux系统进行系统复位时,复位信息难以收集,给故障定位带来困扰。
技术实现思路
本专利技术提供了一种Linux系统复位处理方法及装置,其目的是为了解决在Linux系统进行系统复位时,复位信息难以收集,给故障定位带来困扰的问题。为了达到上述目的,本专利技术的实施例提供了一种Linux系统复位处理方法,该方法包括:监测Linux系统的复位场景;当监测到Linux系统启动复位流程时,获取复位操作的复位信息,将复位信息缓存在预设的保留内存中,其中复位信息包括复位操作的场景信息、发起者信息以及当前系统的状态信息;保留内存为系统内存中的内存空间;当监测到Linux系统执行复位操作时,启动预设内核,在所启动的预设内核中,将复位信息存储在硬盘中。优选地,获取复位操作的复位信息的步骤,包括:识别复位操作的场景信息;其中,复位操作的场景信息包括:系统调用引起的复位、电源键引起的复位以及键盘组合键引起的复位中的一种;获取复位操作的发起者信息以及当前系统的状态信息,发起者信息至少包括:发起者的当前进程的进程标识符、与进程标识符对应的内核启动的第一个用户级INIT进程、所属终端、所属用户、启动时间以及执行的命令;当前系统的状态信息至少包括:系统执行复位操作前的中央处理器CPU状态、内存状态、输入/输出I/O状态。优选地,识别复位操作的场景信息的步骤包括:当在系统内核调用的处理流程中检测到用户态程序调用重新启动系统REBOOT命令时,确定复位操作的场景信息为系统调用引起的复位;当检测到高级配置和电源管理接口ACPI向系统上报系统复位对应的电源键事件时,确定复位操作的场景信息为电源键引起的复位;当在键盘处理函数中检测到与系统复位对应的键盘处理函数时,确定复位操作的场景信息为键盘组合键引起的复位。优选地,获取复位操作的发起者信息的步骤,包括:获取发起者的当前进程的进程标识符、所属终端、所属用户、启动时间以及执行的命令;根据当前进程的进程标识符与进程标识符对应的INIT进程,获取父进程的进程标识符,所述父进程为发起者的当前进程与INIT进程之间的进程。优选地,获取复位操作的复位信息的步骤之后,方法还包括:根据复位信息判断复位操作的场景信息是否为内核错误引起的系统复位;当判断结果为是时,标记复位操作为内核错误;其中,当监测到Linux系统执行复位操作时,启动预设内核的步骤之后,在预设内核中,将复位操作以及标记信息对应存储在硬盘中并执行复位操作。优选地,当监测到Linux系统启动复位流程时的步骤之前,方法还包括:建立保留内存,并配置保留内存的容量以及起始地址并记录。优选地,将复位信息缓存在预设的保留内存中的步骤,包括:根据保留内存的容量以及起始地址查找保留内存,将复位信息缓存在保留内存中。优选地,当监测到Linux系统执行复位操作时的步骤之前,方法还包括:建立预设内核,配置预设内核的容量以及起始地址并生成镜像文件,将镜像文件存储在硬盘中。为了实现上述目的,本专利技术的实施例还提供了一种Linux系统复位处理装置,包括:检测模块,用于监测Linux系统的复位场景;获取模块,用于当监测到Linux系统启动复位流程时,获取复位操作的复位信息,将复位信息缓存在预设的保留内存中,其中复位信息包括复位操作的场景信息、发起者信息以及当前系统的状态信息;保留内存为系统内存中的内存空间;执行模块,用于当监测到Linux系统执行复位操作时,启动预设内核,在所启动的预设内核中,将复位信息存储在硬盘中。优选地,获取模块包括:识别子模块,用于识别复位操作的场景信息;其中,复位操作的场景信息包括:系统调用引起的复位、电源键引起的复位以及键盘组合键引起的复位中的一种;信息获取子模块,用于获取复位操作的发起者信息以及当前系统的状态信息,发起者信息至少包括:发起者的当前进程的进程标识符、与进程标识符对应的内核启动的第一个用户级INIT进程、所属终端、所属用户、启动时间以及执行的命令;当前系统的状态信息至少包括:系统执行复位操作前的中央处理器CPU状态、内存状态、输入/输出I/O状态。优选地,识别子模块包括:第一确定单元,用于当在系统内核调用的处理流程中检测到用户态程序调用重新启动系统REBOOT命令时,确定复位操作的场景信息为系统调用引起的复位;第二确定单元,用于当检测到高级配置和电源管理接口ACPI向系统上报系统复位对应的电源键事件时,确定复位操作的场景信息为电源键引起的复位;第三确定单元,用于当在键盘处理函数中检测到与系统复位对应的键盘处理函数时,确定复位操作的场景信息为键盘组合键引起的复位。优选地,信息获取子模块包括:第一获取单元,用于根据当前进程的进程标识符与进程标识符对应的INIT进程,获取父进程的进程标识符,所述父进程为发起者的当前进程与INIT进程之间的进程。优选地,还包括:内核错误处理模块,用于在获取模块获取复位操作的复位信息之后,根据复位信息判断复位操作的场景信息是否为内核错误引起的系统复位;当判断结果为是时,标记复位操作为内核错误;其中,当监测到Linux系统执行复位操作时,启动预设内核的步骤之后,在预设内核中,将复位操作以及标记信息对应存储在硬盘中并执行复位操作。优选地,该装置还包括:内存建立模块,用于在获取模块当监测到Linux系统启动复位流程时之前,建立保留内存,并配置保留内存的容量以及起始地址并记录。优选地,获取模块还用于:根据保留内存的容量以及起始地址查找保留内存,将复位信息缓存在保留内存中。优选地,该装置还包括:内核建立模块,用于在执行模块当监测到Linux系统执行复位操作时之前,建立预设内核,配置预设内核的容量以及起始地址并生成镜像文件,将镜像文件存储在硬盘中。本专利技术的上述方案至少包括以下有益效果:本专利技术提供的Linux系统复位处理方法及装置,通过当监测到Linux系统启动复位流程时,获取复位操作的复位信息,可及时地收集复位信息,追溯进程调用信息,找到复位操作的最原始的发起者;并在预设内核中将复位信息写入硬盘,仅存储复位信息,占用的存储空间小,且耗费时间较短,实现复位信息持久化,便于进行故障定位或者其他服务,增本文档来自技高网...
一种Linux系统复位处理方法及装置

【技术保护点】
一种Linux系统复位处理方法,其特征在于,包括:监测Linux系统的复位场景;当监测到Linux系统启动复位流程时,获取复位操作的复位信息,将所述复位信息缓存在预设的保留内存中,其中所述复位信息包括所述复位操作的场景信息、发起者信息以及当前系统的状态信息;所述保留内存为系统内存中的内存空间;当监测到Linux系统执行复位操作时,启动预设内核,在所启动的预设内核中,将所述复位信息存储在硬盘中。

【技术特征摘要】
1.一种Linux系统复位处理方法,其特征在于,包括:监测Linux系统的复位场景;当监测到Linux系统启动复位流程时,获取复位操作的复位信息,将所述复位信息缓存在预设的保留内存中,其中所述复位信息包括所述复位操作的场景信息、发起者信息以及当前系统的状态信息;所述保留内存为系统内存中的内存空间;当监测到Linux系统执行复位操作时,启动预设内核,在所启动的预设内核中,将所述复位信息存储在硬盘中。2.根据权利要求1所述的方法,其特征在于,所述获取复位操作的复位信息的步骤,包括:识别所述复位操作的场景信息;其中,所述复位操作的场景信息包括:系统调用引起的复位、电源键引起的复位以及键盘组合键引起的复位中的一种;获取所述复位操作的发起者信息以及当前系统的状态信息,所述发起者信息至少包括:所述发起者的当前进程的进程标识符、与所述进程标识符对应的内核启动的第一个用户级INIT进程、所属终端、所属用户、启动时间以及执行的命令;所述当前系统的状态信息至少包括:系统执行所述复位操作前的中央处理器CPU状态、内存状态、输入/输出I/O状态。3.根据权利要求2所述的方法,其特征在于,所述识别所述复位操作的场景信息的步骤包括:当在系统内核调用的处理流程中检测到用户态程序调用重新启动系统REBOOT命令时,确定所述复位操作的场景信息为系统调用引起的复位;当检测到高级配置和电源管理接口ACPI向系统上报系统复位对应的电源键事件时,确定所述复位操作的场景信息为电源键引起的复位;当在键盘处理函数中检测到与系统复位对应的键盘处理函数时,确定所述复位操作的场景信息为键盘组合键引起的复位。4.根据权利要求2所述的方法,其特征在于,所述获取所述复位操作的发起者信息的步骤,包括:获取所述发起者的当前进程的进程标识符、所属终端、所属用户、启动时间以及执行的命令;根据所述当前进程的进程标识符与所述进程标识符对应的INIT进程,获取父进程的进程标识符,所述父进程为所述发起者的当前进程与所述INIT进程之间的进程。5.根据权利要求1所述的方法,其特征在于,所述获取复位操作的复位信息的步骤之后,所述方法还包括:根据所述复位信息判断所述复位操作的场景信息是否为内核错误引起的系统复位;当判断结果为是时,标记所述复位操作为内核错误;其中,当监测到Linux系统执行复位操作时,启动预设内核的步骤之后,在所述预设内核中,将所述复位操作以及标记信息对应存储在硬盘中并执行所述复位操作。6.根据权利要求1所述的方法,其特征在于,所述当监测到Linux系统启动复位流程时的步骤之前,所述方法还包括:建立保留内存,并配置所述保留内存的容量以及起始地址并记录。7.根据权利要求6所述的方法,其特征在于,所述将所述复位信息缓存在预设的保留内存中的步骤,包括:根据所述保留内存的容量以及起始地址查找所述保留内存,将所述复位信息缓存在所述保留内存中。8.根据权利要求1所述的方法,其特征在于,所述当监测到Linux系统执行复位操作时的步骤之前,所述方法还包括:建立预设内核,配置所述预设内核的容量以及起始地址并生成镜像文件,将所述镜像文件存储在硬盘中。9.一种Linux系统复位处理装置,其特征在于,包括:检测模块...

【专利技术属性】
技术研发人员:文洋谈虎田永江隆春史中兵
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1