CN114003470A - 用户态进程异常的处理方法、装置、设备、及介质 - Google Patents

用户态进程异常的处理方法、装置、设备、及介质 Download PDF

Info

Publication number
CN114003470A
CN114003470A CN202111639587.7A CN202111639587A CN114003470A CN 114003470 A CN114003470 A CN 114003470A CN 202111639587 A CN202111639587 A CN 202111639587A CN 114003470 A CN114003470 A CN 114003470A
Authority
CN
China
Prior art keywords
mode process
information
abnormal
user
user mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111639587.7A
Other languages
English (en)
Other versions
CN114003470B (zh
Inventor
高福亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Original Assignee
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD filed Critical BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority to CN202111639587.7A priority Critical patent/CN114003470B/zh
Publication of CN114003470A publication Critical patent/CN114003470A/zh
Application granted granted Critical
Publication of CN114003470B publication Critical patent/CN114003470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供用户态进程异常的处理方法、装置、设备、及介质,涉及信息处理技术领域。所述方法包括:配置用户态进程和监控进程;当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;对所述全栈异常信息完成保存后,发出恢复用户态进程指令。本发明当通过监控进程监控到用户态进程发生异常时,立即挂载用户态进程,优先得到全栈异常信息,并在对全栈异常信息完成保存后,再发出恢复用户态进程指令,能够保证在发生异常的用户态进程踩坏堆栈信息之前先得到全栈异常信息并对其进行保存,利于研发人员及时查找异常原因,防止出现用户态进程二次异常或挂死等的问题,进一步保证系统业务功能的正常运转。

Description

用户态进程异常的处理方法、装置、设备、及介质
技术领域
本发明涉及信息处理技术领域,尤其涉及一种用户态进程异常的处理方法、装置、电子设备、非暂态计算机可读存储介质、及计算机程序产品。
背景技术
传统网络设备会启动很多用户态进程实现各种业务功能,比如业务转发及处理的数据平面DP进程、处理命令行的CLI进程及其他功能自编译进程等,这些用户态进程在运行时可能会出现段错误(segmentation fault)异常等严重问题,用户态进程出现异常后业务功能将出现问题或不响应,严重的会因为流量无法转发而导致断网或者设备无法管理等重大问题。现有技术中例如会通过CN108170552A-一种抓取Dump文件的方法、装置和设备来抓取Dump文件来诊断进程的运行状态,还会通过CN111064590B-异常状态的修复方法、装置及可读存储介质来对异常状态进行修复。但是更多地,一般处理用户态进程出错的方式是对异常信号进行捕获,然后根据异常时的栈帧信息进行异常栈回溯,但是有些异常会把堆栈信息踩坏,使得在做异常栈回溯时会出现无异常栈信息可回溯和记录,导致用户态进程二次异常或挂死等更严重的问题,而这些问题会进一步导致业务功能一直失效且无法重启设备恢复的严重后果。
发明内容
本发明提供一种用户态进程异常的处理方法、装置、设备、及介质,用以解决现有技术中发生异常的用户态进程会踩坏堆栈信息而导致后期无法进行异常栈回溯的缺陷。
本发明提供一种用户态进程异常的处理方法,包括:
配置用户态进程和监控进程;
当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
根据本发明提供的一种用户态进程异常的处理方法,所述配置用户态进程和监控进程,包括:
为所述用户态进程加载信号捕获函数和信号处理函数;
建立所述用户态进程和所述监控进程的通信连接,以通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程。
根据本发明提供的一种用户态进程异常的处理方法,所述配置用户态进程和监控进程,还包括:
为所述用户态进程设置忽略信号和待捕获信号。
根据本发明提供的一种用户态进程异常的处理方法,所述忽略信号包括以下任一项或其任意组合:
中断信号、退出信号、进程连接断开信号、以及系统调用错误参数信号。
根据本发明提供的一种用户态进程异常的处理方法,所述待捕获信号包括以下任一项或其任意组合:
段错误信号、进程被杀信号、总线错误信号、以及终止信号。
根据本发明提供的一种用户态进程异常的处理方法,在所述通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程的同时,还包括:
使所述用户态进程等待预设时间。
根据本发明提供的一种用户态进程异常的处理方法,还包括:
通过所述用户态进程利用所述信号捕获函数得到捕获信号信息;
通过所述用户态进程利用所述信号处理函数得到异常用户态进程信息;
通过所述用户态进程根据所述捕获信号信息和所述异常用户态进程信息得到异常信息关键字。
根据本发明提供的一种用户态进程异常的处理方法,所述得到全栈异常信息,包括:
通过所述监控进程解析所述异常信息关键字,得到第一异常信息;
根据执行挂载所述用户态进程时产生的信息,得到第二异常信息;
根据所述第一异常信息和所述第二异常信息,得到所述全栈异常信息。
根据本发明提供的一种用户态进程异常的处理方法,所述异常用户态进程信息包括以下任一项或其任意组合:
异常软件版本号信息、异常用户态进程识别号信息、以及异常用户态进程名称信息。
根据本发明提供的一种用户态进程异常的处理方法,所述挂载所述用户态进程,具体为:
利用程序调试工具挂载所述用户态进程。
根据本发明提供的一种用户态进程异常的处理方法,在所述发出恢复用户态进程指令之前,还包括:
对发生异常的用户态进程进行异常栈回溯,得到异常栈信息;
结合所述异常栈信息和发生异常的用户态进程对应的全栈异常信息,得到异常栈全栈信息。
本发明还提供一种用户态进程异常的处理装置,包括:
配置模块,用于:配置用户态进程和监控进程;
挂载模块,用于:当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
保存模块,用于:对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述用户态进程异常的处理方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述用户态进程异常的处理方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述用户态进程异常的处理方法的步骤。
本发明提供的用户态进程异常的处理方法、装置、设备、及介质,当通过监控进程监控到用户态进程发生异常时,立即挂载用户态进程,优先得到全栈异常信息,并在对全栈异常信息完成保存后,再发出恢复用户态进程指令,能够保证在发生异常的用户态进程踩坏堆栈信息之前先得到全栈异常信息并对其进行保存,利于研发人员及时查找异常原因,防止出现用户态进程二次异常或挂死等的问题,进一步保证系统业务功能的正常运转。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用户态进程异常的处理方法的流程示意图;
图2是本发明提供的用户态进程异常的处理方法装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图3描述本发明的用户态进程异常的处理方法、装置、及电子设备。
参照图1,本发明提供的一种用户态进程异常的处理方法,可以包括:
S110、配置用户态进程和监控进程;
S120、当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
S130、对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
需要说明的是,本发明提供的一种用户态进程异常的处理方法的执行主体可以是网络侧设备,例如信息处理系统、进程控制系统等。
在步骤S110中,网络侧设备会配置用户态进程和监控进程。
需要说明的是,网络侧设备可以通过用户态进程客户端和监控进程服务端来分别配置用户态进程和监控进程。
例如,步骤S110可以包括:
为所述用户态进程加载信号捕获函数和信号处理函数;
为所述用户态进程设置忽略信号和待捕获信号;
建立所述用户态进程和所述监控进程的通信连接,以通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程。
需要说明的是,网络侧设备可以利用信号量处理函数通过signal()函数和SIG_IGN入参为用户态进程设置常用的忽略信号,信号被忽略后将不再被捕获。
忽略信号可以包括以下任一项或其任意组合:
中断信号(SIGINT信号)、退出信号(SIGQUIT信号)、进程连接断开信号(SIGPIPE信号)、以及系统调用错误参数信号(SIGSYS信号)。
需要说明的是,网络侧设备可以利用信号量处理函数通过sigaction()函数为用户态进程设置常用捕获的待捕获信号。
待捕获信号包括以下任一项或其任意组合:
段错误信号(SIGSEGV信号)、进程被杀信号(SIGILL信号)、总线错误信号(SIGBUS信号)、以及终止信号(SIGABRT信号)。
将忽略信号和待捕获信号提取区分设置,有效提高发现异常用户态进程的效率。
需要说明的是,网络侧设备可以通过创建socket连接线程来实现用户态进程客户端和监控进程服务端(supervisor)的通信连接,进而实现用户态进程和监控进程的通信连接。
例如,创建socket连接线程,且使该socket连接线程在后台5秒循环一次,在通信连接实现后立即退出该socket连接线程,期间只记录句柄到全局变量用于后续异常信息关键字的发送使用。
需要说明的是,网络侧设备可以利用根据实际需要定义的SIG_HANDLER()函数作为信号捕获函数来捕获待捕获信号。
需要说明的是,网络侧设备可以通过用户态进程利用信号捕获函数来快速捕获待捕获信号,以及时发现异常用户态进程,然后通过用户态进程利用信号处理函数对被捕获的信号进行处理,再将根据信号捕获函数和信号处理函数处理得到的异常信息关键字发送至所述监控进程。
在步骤S120中,网络侧设备会当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息。
需要说明的是,可以利用程序调试工具挂载所述用户态进程。
例如,网络侧设备可以利用GDB程序调试工具挂载用户态进程。GDB是一个强大的命令行调试工具,它可以根据不同的信号决定对于正在运行的进程要做些什么工作,非常利于当通过监控进程监控到用户态进程发生异常时,挂载用户态进程。
在步骤S130中,网络侧设备会对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
需要说明的是,网络侧设备可以通过将全栈异常信息写入全栈异常信息记录文件,以实现对全栈异常信息的保存,在完成保存操作后,再发出恢复用户态进程指令,触发整机重启以恢复业务功能。
本发明提供的用户态进程异常的处理方法,当通过监控进程监控到用户态进程发生异常时,立即挂载用户态进程,优先得到全栈异常信息,并在对全栈异常信息完成保存后,再发出恢复用户态进程指令,能够保证在发生异常的用户态进程踩坏堆栈信息之前先得到全栈异常信息并对其进行保存,利于研发人员及时查找异常原因,防止出现用户态进程二次异常或挂死等的问题,进一步保证系统业务功能的正常运转。
根据本发明提供的一种用户态进程异常的处理方法,在通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程的步骤的同时,还包括:
使所述用户态进程等待预设时间。
需要说明的是,网络侧设备在通过用户态进程将根据信号捕获函数和信号处理函数处理得到的异常信息关键字发送至监控进程的同时,可以使用户态进程等待预设时间,例如5秒,利于在异常用户态进程踩坏堆栈信息之前尽快实现挂载用户态进程和得到全栈异常信息。
根据本发明提供的一种用户态进程异常的处理方法,还包括:
通过所述用户态进程利用所述信号捕获函数得到捕获信号信息;
通过所述用户态进程利用所述信号处理函数得到异常用户态进程信息;
通过所述用户态进程根据所述捕获信号信息和所述异常用户态进程信息得到异常信息关键字。
需要说明的是,网络侧设备可以利用根据实际需要定义的SIG_HANDLER()函数作为信号捕获函数来捕获待捕获信号,根据捕获信号可以得到捕获信号信息。
需要说明的是,所述异常用户态进程信息包括以下任一项或其任意组合:异常软件版本号信息、异常用户态进程识别号(PID)信息、以及异常用户态进程名称信息。
其中,异常软件版本号信息可以在启动网络侧设备(系统)时获取,异常用户态进程号(PID)信息可以通过getpid()函数获取,异常用户态进程名称可以根据异常用户态进程识别号(PID)信息通过popen()函数执行“ps | grep PID | sed -n -e 1p | awk‘{print $4}’”命令语句过滤获取,然后可以通过fgets()将异常用户态进程名称保存到局部变量。
然后将捕获信号信息和异常用户态进程信息拼接成异常信息关键字符串“Exception SignalNo:xxx Version:xxx Pid:xxx Pname:xxx”, 再调用封装的发送函数将拼接的异常信息关键字符串作为异常信息关键字发送至监控进程。
需要说明的是,在通过监控进程服务端配置监控进程时,可以创建启动一个接受socket连接的主线程并做0核绑定,防止该监控线程在多核间切换调度而影响转发性能,该主线程会阻塞等待各用户态进程的socket连接,对于已建立连接成功的用户态进程会创建启动对应子线程用于阻塞等待接收异常信息关键字符串。
在用户态进程发生异常时,先根据捕获信号信息和异常用户态进程信息得到异常信息关键字,并通过字符串的形式将其发送至监控进程,能够保证异常信息关键字准确地传送至监控进程,提高后续得到的全栈异常信息的精度,便于后续快速找出异常原因、制作应对策略。
根据本发明提供的一种用户态进程异常的处理方法,得到全栈异常信息的步骤,可以包括:
通过所述监控进程解析所述异常信息关键字,得到第一异常信息;
根据执行挂载所述用户态进程时产生的信息,得到第二异常信息;
根据所述第一异常信息和所述第二异常信息,得到所述全栈异常信息。
需要说明的是,通过监控进程解析异常信息关键字,即解析异常信息关键字符串,通过解析异常信息关键字符串可以得到捕获信号信息和异常用户态进程信息(异常软件版本号信息、异常用户态进程识别号(PID)信息、以及异常用户态进程名称信息),然后可以将它们保存到局部变量,再获取当前系统(网络侧设备)时间,拼接出GDB记录的全栈异常信息的开头字段,形成第一异常信息。
然后根据解析出的异常用户态进程识别号(PID)信息,拼接出GDB执行获取异常用户态进程全栈异常信息的预设多条命令“attach PID \n thread apply all bt \n infothreads \n quit”并写入GDB预设命令文件“/tmp/gdbcmd”,通过popen()函数执行GDB命令“gdb --quiet --command /tmp/gdbcmd”,--quiet静默模式下GDB挂载出现异常的用户态进程,通过--command /tmp/gdbcmd执行GDB预设命令文件中获取异常用户态进程全栈异常信息的多条命令,再通过循环fgets()函数获取所有异常用户态进程的全栈异常信息,形成第二异常信息。结合第一异常信息和第二异常信息,形成全栈异常信息,并将它们写入全栈异常信息记录文件。
根据对异常信息关键字的解析结果以及挂载用户态进程时产生的信息来得到完整且准确的全栈异常信息,以记录文件形式保存的全栈异常信息可导出给研发人员查看,方便快速定位解决异常问题。
根据本发明提供的一种用户态进程异常的处理方法,在所述发出恢复用户态进程指令之前,还包括:
对发生异常的用户态进程进行异常栈回溯,得到异常栈信息;
结合所述异常栈信息和发生异常的用户态进程对应的全栈异常信息,得到异常栈全栈信息。
需要说明的是,上述两个步骤可以在完成保存全栈异常信息之后、发出恢复用户态进程指令之前执行。异常栈回溯可以通过backtrace()获取异常栈深度,再通过backtrace_symbols()函数获取异常栈调用函数关系,根据发生异常的用户态进程的栈帧信息进行异常栈回溯,得到异常栈信息,还可以将异常栈信息写入异常栈回溯记录文件,用于保存异常栈信息。
结合异常栈信息和发生异常的用户态进程对应的全栈异常信息,得到异常栈全栈信息,实现完整的异常栈及全栈的信息记录。
根据本发明提供的一种用户态进程异常的处理方法,还可以包括:
记录重启前日志。
需要说明的是,重启前日志主要用于在重启整机前记录当前发生异常的系统时间信息、异常信号信息、异常软件版本号信息、异常用户态进程标识号(PID)信息、异常用户态进程名称信息,可以将它们拼接成异常信息谢日日志文件,再触发整机重启操作。
下面对本发明提供的用户态进程异常的处理方法装置进行描述,下文描述的用户态进程异常的处理方法装置与上文描述的用户态进程异常的处理方法可相互对应参照。
参照图2,本发明提供的一种用户态进程异常的处理装置,可以包括:
配置模块210,用于:配置用户态进程和监控进程;
挂载模块220,用于:当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
保存模块230,用于:对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
根据本发明提供的一种用户态进程异常的处理装置,所述配置模块210可以包括:
函数加载子模块,用于:为所述用户态进程加载信号捕获函数和信号处理函数;
通信连接建立子模块,用于:建立所述用户态进程和所述监控进程的通信连接,以通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程。
根据本发明提供的一种用户态进程异常的处理装置,所述配置模块210可以包括:
信号设置子模块,用于:为所述用户态进程设置忽略信号和待捕获信号。
根据本发明提供的一种用户态进程异常的处理装置,所述忽略信号包括以下任一项或其任意组合:
中断信号、退出信号、进程连接断开信号、以及系统调用错误参数信号。
根据本发明提供的一种用户态进程异常的处理装置,所述待捕获信号包括以下任一项或其任意组合:
段错误信号、进程被杀信号、总线错误信号、以及终止信号。
根据本发明提供的一种用户态进程异常的处理装置,还包括:
信号捕获模块,用于:通过所述用户态进程利用所述信号捕获函数得到捕获信号信息;
异常用户态进程信息得到模块,用于:通过所述用户态进程利用所述信号处理函数得到异常用户态进程信息;
异常信息关键字得到模块,用于:通过所述用户态进程根据所述捕获信号信息和所述异常用户态进程信息得到异常信息关键字。
根据本发明提供的一种用户态进程异常的处理装置,所述挂载模块220可以包括:
第一异常信息得到子模块,用于:通过所述监控进程解析所述异常信息关键字,得到第一异常信息;
第二异常信息得到子模块,用于:根据执行挂载所述用户态进程时产生的信息,得到第二异常信息;
全栈异常信息得到子模块,用于:根据所述第一异常信息和所述第二异常信息,得到所述全栈异常信息。
根据本发明提供的一种用户态进程异常的处理装置,所述异常用户态进程信息包括以下任一项或其任意组合:
异常软件版本号信息、异常用户态进程识别号信息、以及异常用户态进程名称信息。
根据本发明提供的一种用户态进程异常的处理装置,所述通信连接建立子模块还包括:
等待子模块,用于:使所述用户态进程等待预设时间。
根据本发明提供的一种用户态进程异常的处理装置,所述挂载模块220具体用于:
利用程序调试工具挂载所述用户态进程。
根据本发明提供的一种用户态进程异常的处理装置,还包括:
异常栈回溯模块,用于:在所述发出恢复用户态进程指令之前,对发生异常的用户态进程进行异常栈回溯,得到异常栈信息;
异常栈全栈信息得到模块,用于:结合所述异常栈信息和发生异常的用户态进程对应的全栈异常信息,得到异常栈全栈信息。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行用户态进程异常的处理方法,该方法包括:
配置用户态进程和监控进程;
当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的用户态进程异常的处理方法,该方法包括:
配置用户态进程和监控进程;
当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的用户态进程异常的处理方法,该方法包括:
配置用户态进程和监控进程;
当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种用户态进程异常的处理方法,其特征在于,包括:
配置用户态进程和监控进程;
当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
2.根据权利要求1所述的用户态进程异常的处理方法,其特征在于,所述配置用户态进程和监控进程,包括:
为所述用户态进程加载信号捕获函数和信号处理函数;
建立所述用户态进程和所述监控进程的通信连接,以通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程。
3.根据权利要求2所述的用户态进程异常的处理方法,其特征在于,在所述通过所述用户态进程将根据所述信号捕获函数和所述信号处理函数处理得到的异常信息关键字发送至所述监控进程的同时,还包括:
使所述用户态进程等待预设时间。
4.根据权利要求2所述的用户态进程异常的处理方法,其特征在于,所述配置用户态进程和监控进程,还包括:
为所述用户态进程设置忽略信号和待捕获信号。
5.根据权利要求2-4任一项所述的用户态进程异常的处理方法,其特征在于,还包括:
通过所述用户态进程利用所述信号捕获函数得到捕获信号信息;
通过所述用户态进程利用所述信号处理函数得到异常用户态进程信息;
通过所述用户态进程根据所述捕获信号信息和所述异常用户态进程信息得到异常信息关键字。
6.根据权利要求1-4任一项所述的用户态进程异常的处理方法,其特征在于,所述得到全栈异常信息,包括:
通过所述监控进程解析所述异常信息关键字,得到第一异常信息;
根据执行挂载所述用户态进程时产生的信息,得到第二异常信息;
根据所述第一异常信息和所述第二异常信息,得到所述全栈异常信息。
7.根据权利要求1-4任一项所述的用户态进程异常的处理方法,其特征在于,在所述发出恢复用户态进程指令之前,还包括:
对发生异常的用户态进程进行异常栈回溯,得到异常栈信息;
结合所述异常栈信息和发生异常的用户态进程对应的全栈异常信息,得到异常栈全栈信息。
8.一种用户态进程异常的处理装置,其特征在于,包括:
配置模块,用于:配置用户态进程和监控进程;
挂载模块,用于:当通过所述监控进程监控到所述用户态进程发生异常时,挂载所述用户态进程,并得到全栈异常信息;
保存模块,用于:对所述全栈异常信息完成保存后,发出恢复用户态进程指令。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述用户态进程异常的处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述用户态进程异常的处理方法的步骤。
CN202111639587.7A 2021-12-30 2021-12-30 用户态进程异常的处理方法、装置、设备、及介质 Active CN114003470B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111639587.7A CN114003470B (zh) 2021-12-30 2021-12-30 用户态进程异常的处理方法、装置、设备、及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111639587.7A CN114003470B (zh) 2021-12-30 2021-12-30 用户态进程异常的处理方法、装置、设备、及介质

Publications (2)

Publication Number Publication Date
CN114003470A true CN114003470A (zh) 2022-02-01
CN114003470B CN114003470B (zh) 2022-04-08

Family

ID=79932244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111639587.7A Active CN114003470B (zh) 2021-12-30 2021-12-30 用户态进程异常的处理方法、装置、设备、及介质

Country Status (1)

Country Link
CN (1) CN114003470B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662045A (zh) * 2022-11-18 2023-08-29 荣耀终端有限公司 进程名称获取方法、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078508A (zh) * 2019-12-31 2020-04-28 杭州当虹科技股份有限公司 一种基于用户态文件系统的监控方法
EP3736695A1 (en) * 2019-05-06 2020-11-11 Argo AI, LLC Method and system for real-time diagnostics and fault monitoring in a robotic system
CN112035318A (zh) * 2020-08-28 2020-12-04 北京浪潮数据技术有限公司 一种异常进程的定位方法、系统及相关装置
CN113220535A (zh) * 2021-05-31 2021-08-06 北京马赫谷科技有限公司 程序异常的处理方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3736695A1 (en) * 2019-05-06 2020-11-11 Argo AI, LLC Method and system for real-time diagnostics and fault monitoring in a robotic system
CN111078508A (zh) * 2019-12-31 2020-04-28 杭州当虹科技股份有限公司 一种基于用户态文件系统的监控方法
CN112035318A (zh) * 2020-08-28 2020-12-04 北京浪潮数据技术有限公司 一种异常进程的定位方法、系统及相关装置
CN113220535A (zh) * 2021-05-31 2021-08-06 北京马赫谷科技有限公司 程序异常的处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662045A (zh) * 2022-11-18 2023-08-29 荣耀终端有限公司 进程名称获取方法、终端设备及存储介质
CN116662045B (zh) * 2022-11-18 2024-06-18 荣耀终端有限公司 进程名称获取方法、终端设备及存储介质

Also Published As

Publication number Publication date
CN114003470B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
US10545807B2 (en) Method and system for acquiring parameter sets at a preset time interval and matching parameters to obtain a fault scenario type
CN109783342B (zh) 脚本调试方法、设备及计算机存储介质
CN107404522B (zh) 一种跨节点的虚拟机集群高可用实现方法和装置
CN109286529B (zh) 一种恢复RabbitMQ网络分区的方法及系统
WO2020087954A1 (zh) 抓取NVME硬盘trace的方法、装置、设备及系统
CN109510742B (zh) 一种服务器网卡远程测试方法、装置、终端及存储介质
US7734956B2 (en) Process management system
CN106921508B (zh) 虚拟化网元故障自愈方法及装置
CN114003470B (zh) 用户态进程异常的处理方法、装置、设备、及介质
WO2018006702A1 (zh) 自动化测试中的异常处理方法、装置及系统
CN112529223A (zh) 一种设备故障报修方法、装置、服务器及储存介质
WO2017148271A1 (zh) 一种Linux系统复位处理方法、装置及计算机存储介质
CN108762886B (zh) 虚拟机的故障检测恢复方法及系统
CN111625404B (zh) 基于Jenkins测试NVMe硬盘的方法、系统存储介质及电子设备
CN111078484B (zh) 系统升级的断电测试方法、装置、设备及存储介质
CN111752741A (zh) 一种系统性能检测的方法及装置
CN105260257B (zh) 解决程序运行期间停止响应的方法和装置
CN116560791A (zh) 进程的处理器亲和性管理方法、装置及电子设备
CN103514086A (zh) 一种软件错误报告的提取方法及装置
CN115373916A (zh) 异常检测方法、装置、电子设备及计算机可读存储介质
CN112231170B (zh) 一种数据交互卡监管方法、系统、终端及存储介质
CN114116330B (zh) 服务器性能测试方法、系统、终端及存储介质
CN112953792A (zh) 网络流量监测方法及装置
CN111400094A (zh) 一种服务器系统恢复出厂设置的方法、装置、设备及介质
CN113849340B (zh) 虚拟化平台与多存储系统的容灾备份对接方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant