CN117917646A - 进程管控方法、装置、电子设备及存储介质 - Google Patents
进程管控方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117917646A CN117917646A CN202211297056.9A CN202211297056A CN117917646A CN 117917646 A CN117917646 A CN 117917646A CN 202211297056 A CN202211297056 A CN 202211297056A CN 117917646 A CN117917646 A CN 117917646A
- Authority
- CN
- China
- Prior art keywords
- user state
- information
- exception
- abnormal
- management
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 470
- 230000008569 process Effects 0.000 title claims abstract description 423
- 230000002159 abnormal effect Effects 0.000 claims abstract description 86
- 238000012545 processing Methods 0.000 claims abstract description 84
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000001419 dependent effect Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 17
- 238000004886 process control Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 49
- 230000005856 abnormality Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供的一种进程管控方法、装置、电子设备及存储介质,包括:通过系统内核对用户态进程进行监测;响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。本申请通过对用户态进程进行实时检测,当发现用户态进程异常时,及时通知管控根进程,以使管控根进程能够根据储存的进程注册表确定用户态进程的信息,并对其进行异常处理,以此提供一套完整的进程可靠性管控方案,提升了构建操作系统的便利程度,提高了操作系统的成熟度及设置效率。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种进程管控方法、装置、电子设备及存储介质。
背景技术
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进而针对进程是否能正常可靠的运行,即进程的可靠性,是当前操作系统都需要进行关注的问题。
但是,在常见的开源微内核操作系统中仅提供少量必要的进程可靠性管理核心功能,并没有提供完善的对用户态的进程可靠性管理的机制,需要操作系统开发者基于微内核的核心内核功能构建用户态进程可靠性管理功能。
发明内容
有鉴于此,本申请提出一种进程管控方法、装置、电子设备及存储介质,以此提供一套完整的进程可靠性管控方案,提升了构建操作系统的便利程度,提高了操作系统的成熟度及设置效率。
基于上述目的,本申请提供了一种进程管控方法,包括:
通过系统内核对用户态进程进行监测;
响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;
根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。
在一些实施方式中,所述通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理之前,所述方法还包括:
获取进程注册信息;其中,所述进程注册信息包括至少一种异常类型及所述异常类型对应的处理方案,以根据所述进程注册信息查找所述异常信息对应的所述异常类型及所述处理方案;
通过配置接口将所述进程注册信息传递至所述管控根进程,以使所述管控根进程根据所述进程注册信息生成所述进程注册表;其中,所述配置接口为所述管控根进程为接收所述进程注册信息设置的数据通信接口。
在一些实施方式中,所述进程注册信息,还包括:至少一个进程标识;其中,每个所述进程标识至少对应一种所述异常类型,并对应该进程标识发生该异常类型的异常时的所述处理方案。
在一些实施方式中,所述处理方案,包括当前进程的依赖进程信息;
所述通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理,包括:
基于所述处理方案,根据所述依赖进程信息对相应的依赖进程进行异常处理;
响应于完成对所述依赖进程的异常处理,对所述用户态进程进行异常处理。
在一些实施方式中,所述获取进程注册信息,包括:
获取所述用户态进程的所述进程标识及至少一种所述异常类型;
响应于未获取到所述异常类型对应所述处理方案,则将所述处理方案默认设置为终止运行。
在一些实施方式中,所述将所述异常信息传递给管控根进程,包括:
检测所述用户态进程的传输通道,通过所述传输通道将所述异常信息传递给所述管控根进程;其中,所述传输通道对应该用户态进程或为任意用户态进程所共用。
在一些实施方式中,对所述用户态进程进行异常处理的方式,包括:对所述用户态进程进行终止运行、重启运行或生成内存备份文件。
基于同一构思,本申请还提供了一种进程管控装置,包括:
检测模块,用于通过系统内核对用户态进程进行监测;
传输模块,用于响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;
处理模块,用于根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。
基于同一构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任一项所述的方法。
基于同一构思,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机实现如上任一项所述的方法。
从上面所述可以看出,本申请提供的一种进程管控方法、装置、电子设备及存储介质,包括:通过系统内核对用户态进程进行监测;响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。本申请通过对用户态进程进行实时检测,当发现用户态进程异常时,及时通知管控根进程,以使管控根进程能够根据储存的进程注册表确定用户态进程的信息,并对其进行异常处理,以此提供一套完整的进程可靠性管控方案,提升了构建操作系统的便利程度,提高了操作系统的成熟度及设置效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提出的一种进程管控方法的流程示意图;
图2为本申请实施例提出的一种进程管控方法的交互过程的流程示意图;
图3为本申请实施例提出的一种进程管控装置的结构示意图;
图4为本申请实施例提出的电子设备结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件、物件或者方法步骤涵盖出现在该词后面列举的元件、物件或者方法步骤及其等同,而不排除其他元件、物件或者方法步骤。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,进程是操作系统中对于程序运行的动态实体所进行的定义,包括程序运行时所需要的资源,如地址空间、任务控制块、代码及数据段等。简单来说,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。只有进程能够正确的完成运行,才有程序、系统的正常运行。任一进程发生异常,导致的问题从传输的数据发生错误或对计算的结果造成偏差,到导致整个程序的运行错误甚至整个系统的崩溃等等。进而对进程可靠性的监控,在进程发生异常时能够迅速做出相应的反应,就成为当前操作系统都需要进行关注的问题。但是,在当前的微内核操作系统中,并没有提供完善的对用户态的进程可靠性管理的机制,一般需要开发者针对每个用户态进程进行针对性的设置,才能对用户态进程进行可靠性监控及快速应对。
结合上述实际情况,本申请实施例提出了一种进程管控方案,通过对用户态进程进行实时检测,当发现用户态进程异常时,及时通知管控根进程,以使管控根进程能够根据储存的进程注册表确定用户态进程的信息,并对其进行异常处理,以此提供一套完整的进程可靠性管控方案,提升了构建操作系统的便利程度,提高了操作系统的成熟度及设置效率。
如图1所示,为本申请提出的一种进程管控方法的流程示意图。该方法具体包括:
步骤101,通过系统内核对用户态进程进行监测。
在一些实施例中,系统内核可以简单理解为内核就是一组程序,在一般的操作系统中,进程标识(ID)较小的那些基本上都是内核进程,操作系统为了安全考虑,很多基本操作(比如绝大部分对硬件的操作等等)只能由内核进程来完成。可以理解为,系统内核由运行的内核态进程所组成。之后,操作系统的内核态进程与用户态进程相对应,两者为操作系统的两种运行级别的进程,内核态进程的级别高,用户态进程的级别低。其中,内核态进程权限高、可以获取更多的资源、可以对系统进行根本上的更改,但针对内核态进程的限制或访问条件也较高,响应速度较慢,而用户态进程其权限低、可以获取的资源有限、无法对系统进行更改,但同时用户态进程的限制或访问条件较低,响应速度也较快,同时用户使用的程序一般的都是通过用户态进程完成运行。
在本实施例中,通过系统内核对用户态进程进行监测,根据前述,系统内核能够获取到更多的资源,进而其可以对其他用户态进程的运行数据等进行实时监控。在一般的操作系统中,系统内核可以通过监控异常指令等对运行的进程进行监控,确定每个进程都在正常工作,其可以通过设置一异常状态表来确定每个进程是否满足表中记录的异常状态条件,以此来对用户态进程进行监测。其中异常状态可以是进程本身的代码非法、访问内存错误等等,也可以是人为设定某一进程达到何种条件之后,认为该进程为异常,例如某进程的输出值超过一定阈值之后等等。
步骤102,响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程。
在一些实施例中,当发现了某个用户态进程发生了某种异常之后,可以获取该用户态进程的异常信息。其中,异常信息可以是该用户态进程发生某种错误时产生的信息,例如用户态进程无响应、调用内存不合法等等,在本实施例中异常信息可以包括异常发生的指令,该用户态进程的地址,异常发生时该用户态进程对应的内存部分及该段内存前后段的信息,以及其他异常现场信息等等。这里具体获取哪些异常信息可以通过事先设定的获取表来进行获取,也可以通过开发者进行人为设定。
之后,将获取到的异常信息传输给管控根进程。这里,管控根进程可以理解根进程的一种,其一般为root权限进程,具有系统中的最高权限,同时管控根进程可以理解为所有进程或一系进程的根部进程或最初的进程,其他进程都是由其衍生的,进而管控根进程可以管理其衍生出的进程。在具体实施例中,管控根进程可以负责基于内核的核心功能与机制,为操作者提供操作系统服务能力,通常可以包含进程/线程管理、内存管理等等。一般的,管控根进程中管理并维护了所有其他用户态进程的控制信息,包括内核tcb、内存空间句柄、通信资源句柄等。最后,当系统内核收集完异常信息之后,由于每个用户态进程其本身形式可能并不相同,进而不同的异常信息之间,比如收集的数据类型等等也不尽相同,进而系统内核可以根据不同的用户态进程设置不同的传输通道,将异常信息传输给管控根进程。也可以设置统一的通道,只要系统内核监测到一个用户态进程发生异常就利用该统一通道进行异常信息的传输。比如:seL4微内核系统实现中,可对每个进程配置fault_ep文件,当进程发生异常错误后,内核会通过fault_ep文件发送异常信息,从而通知管控根进程。
步骤103,根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。
在一些实施例中,进程注册表为记录有全部已注册的用户态进程的标识信息,每个用户态进程对应的异常类型,及该用户态进程发生异常的处理方案。每个用户态进程可能发生多种异常,进而每个用户态进程可能对应多个异常类型,并对应有不同的处理方案。同时不同用户态进程发生同一种异常时(例如都发生代码非法异常),其对应的处理方案可能也不相同,进而可以利用进程注册表进行记录。当管控根进程接收到一个异常信息之后,会根据进程注册表去确定该异常信息对应的用户态进程,再确定进程注册表中是否记录有异常信息记录的异常类型,若有,则根据进程注册表中记录的相应的处理方案进行异常处理。
其中,进程注册表可以是事先记录好的,例如可以在通过系统内核对用户态进程进行监测之前就生成好进程注册表。该进程注册表可以通过人为输入生成,也可以通过设置好的配置表生成。进程注册表中一般可以记录有进程标识、异常类型及处理方案。其中,进程标识即为进程的识别信息,例如进程ID等等,用于确定、识别该进程;异常类型即该进程会出现的异常,例如无响应、逻辑错误、调用内存不合法等等,同时每种异常类型对应的异常信息内容可能并不相同,在此可以记录该异常的识别信息或识别方式等等,使管控根进程可以根据异常信息确定出对应的进程发生了何种异常;处理方案即为确定了异常类型之后,需要对该进程进行何种异常处理,这里的处理策略可以包括:终止进程运行、重启进程、生成内存备份(core)文件、甚至重启系统等等。如图2所示,在一具体实施例中,当用户创建一进程时,其可以通过根进程在系统内核中进行创建,并利用系统内核调度用户态进程进行运行。之后,用户可以对该进程进行注册写入,在其提供相应数据后(进程标识、异常类型及处理方案)将该进程写入至进程注册表中,之后,系统内核进行监测,当发现异常后,通知管控根进程根据进程注册表进行异常处理。当然,针对已存在的众多用户态进程,其可以事先设置一配置表,在需要进行进程管控之前就根据该配置表生成进程注册表。
最后,管控根进程根据进程注册表对发生异常的用户态进程进行异常处理,其处理策略与进程注册表中记录的相对应,可以包括:终止进程运行、重启进程、生成内存备份(core)文件、甚至重启系统等等。
另外,在一些实施例中,可以根据不同的操作系统,例如不同的微内核操作系统,来设置不同的适配方案,以使本方案可以适配不同的操作系统。
从上面所述可以看出,本申请实施例的一种进程管控方法,包括:通过系统内核对用户态进程进行监测;响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。本申请通过对用户态进程进行实时检测,当发现用户态进程异常时,及时通知管控根进程,以使管控根进程能够根据储存的进程注册表确定用户态进程的信息,并对其进行异常处理,以此提供一套完整的进程可靠性管控方案,提升了构建操作系统的便利程度,提高了操作系统的成熟度及设置效率。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本申请实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在一些实施例中,所述通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理之前,所述方法还包括:获取进程注册信息;其中,所述进程注册信息包括至少一种异常类型及所述异常类型对应的处理方案,以根据所述进程注册信息查找所述异常信息对应的所述异常类型及所述处理方案;通过配置接口将所述进程注册信息传递至所述管控根进程,以使所述管控根进程根据所述进程注册信息生成所述进程注册表;其中,所述配置接口为所述管控根进程为接收所述进程注册信息设置的数据通信接口。
在本实施例中,进程注册表可以是根据配置表或事先输入的进程注册信息生成的。也可以是在对进程进行监控之前生成或更新的,例如用户新设置了一个进程,其可以将该进程的信息及处理异常方案写入到进程注册表中,以形成新的进程注册表,以此可以灵活添加或生成新的进程注册表,方便操作者对新的进程进行监控。根据前述实施例的介绍可知,进程注册信息可以包括一个用户态进程对应的至少一种异常类型及其相应的处理方案等等。其中,在具体实施例中,每个用户态进程可能发生多种异常,即其可能对应多种异常类型,例如进程无响应、逻辑错误、调用内存不合法等等,也可以是人为设定某一用户态进程达到某种条件之后,认为该用户态进程为异常,例如某用户态进程的输出值超过一定阈值之后,则认为该用户态进程为异常等等。进而在进行注册时可以将其能够发生的多种异常类型一次性进行注册,同时将每种异常所对应的处理方案也一并写入,以此生成进程注册表。之后,处理方案,即为当该进程发生对应异常后的处理方式,其可以为终止进程运行、重启进程、生成内存备份(core)文件、甚至重启系统等等。
之后,通过事先设定的配置接口,将进程注册信息传递给管控根进程,以供管控根进程生成或更新进程注册表。在本实施例中,配置接口即为管控根进程为接收所述进程注册信息设置的数据通信接口,即管控根进程为获取数据而开放的一个专门用于接收对应数据(进程注册信息)的数据通道,类似于各种协议端口等等。
在一些实施例中,所述进程注册信息,还包括:至少一个进程标识;其中,每个所述进程标识至少对应一种所述异常类型,并对应该进程标识发生该异常类型的异常时的所述处理方案。
在本实施例中,进程标识即为进程的身份识别信息,例如进程ID,每个进程一般都会设定一唯一识别标识,以供系统能够准确找到、确定该进程。在输入进程注册信息时,可以仅输入一个用户态进程对应的异常类型、处理方案,此时由于输入进程注册信息就是为了录入对应用户态进程所能发生的异常类型,进而其对应关系在输入前就已经对应好,进而可以不需要记录进程标识。但是在一些实施例中,进程注册信息可以进行批量的注册,即其可以记录多个用户态进程及其对应的异常类型及处理方案。从而在这些实施例中,为了明确对应关系,需要记录进程标识,并确定每个进程标识对应的异常类型(每个用户态进程可能对应多种异常类型,同时不同用户态进程可能都会发生同一类型的异常)。再对应该进程发生任一异常类型的异常时所需要执行的处理方案,即当该用户态进程发生对应异常后的处理方式,其可以为终止进程运行、重启进程、生成内存备份(core)文件、甚至重启系统等等。
在一些实施例中,所述处理方案,包括当前进程的依赖进程信息;所述通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理,包括:基于所述处理方案,根据所述依赖进程信息对相应的依赖进程进行异常处理;响应于完成对所述依赖进程的异常处理,对所述用户态进程进行异常处理。
在本实施例中,由于在一般的程序当然,一个进程通常会关联一些相关进程,其一般会有上游进程或下游进程,进而,在发现一个进程出现异常之后,可能仅对其进行处理并不能达到预期效果,其很可能需要对其关联的其他进程进行一并处理,才能完成对该异常的完整处理。进而在对某一进程的某一异常的处理方案中,可以记录该进程的依赖进程信息,依赖进程信息即为与该进程相关的进程信息,或需要一并处理的进程信息,同时可以记录针对该依赖进程的处理方式。进而,可以根据处理方案中记录的依赖进程信息,先对依赖进程进行处理,再对发生异常的用户态进程进行处理。其处理方式可以为终止进程运行、重启进程、生成内存备份(core)文件等等。
在一些实施例中,所述获取进程注册信息,包括:获取所述用户态进程的所述进程标识及至少一种所述异常类型;响应于未获取到所述异常类型对应所述处理方案,则将所述处理方案默认设置为终止运行。
在本实施例中,可以设置一种默认的处理方案,以此简化输入过程,方便用户进行快速的信息导入。进而在用户输入一种进程注册信息时,若为进行处理方案的输入,可以默认该进程在遇到该异常时进行终止运行的异常处理。
在一些实施例中,所述将所述异常信息传递给管控根进程,包括:检测所述用户态进程的传输通道,通过所述传输通道将所述异常信息传递给所述管控根进程;其中,所述传输通道对应该用户态进程或为任意用户态进程所共用。
在本实施例中,由于每个用户态进程其本身形式可能并不相同,进而不同的异常信息之间,比如收集的数据类型等等也不尽相同,进而系统内核可以根据不同的用户态进程设置不同的传输通道,以利用该传输通道将异常信息传输给管控根进程。也可以设置统一的通道,即所有用户态进程可以共用一条传输通道,只要系统内核监测到一个用户态进程发生异常就利用该统一的传输通道进行异常信息的传输。比如:seL4微内核系统实现中,可对每个用户态进程配置fault_ep文件(相当于每个用户态进程可以根据该文件,去利用该文件所对应的传输通道),当进程发生异常错误后,内核会通过fault_ep文件发送异常信息,以通过该fault_ep文件所对应的统一传输通道进行异常信息传输,从而通知管控根进程。
在一些实施例中,对所述用户态进程进行异常处理的方式,包括:对所述用户态进程进行终止运行、重启运行或生成内存备份文件。
在本实施例中,终止运行即为停止该用户态进程的运行,清除其数据;重启运行即为重新启动该用户态进程的运行,使其停止并再运行,并清除其数据;内存备份文件即为core文件,其为进程异常时的内存映像文件,可以记录进程异常时的全部内存信息,通过该文件操作者可以还原出进程异常时的内存状态,从而可以对寻找导致进程异常的原因等进行最直接的帮助,方便对进程进行调试。
基于同一构思,与上述任意实施例方法相对应的,本申请还提供了一种进程管控装置。
参考图3,所述进程管控装置,包括:
检测模块210,用于通过系统内核对用户态进程进行监测。
传输模块220,用于响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程。
处理模块230,用于根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的进程管控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
在一些实施例中,所述处理模块230,还用于:
获取进程注册信息;其中,所述进程注册信息包括至少一种异常类型及所述异常类型对应的处理方案,以根据所述进程注册信息查找所述异常信息对应的所述异常类型及所述处理方案;
通过配置接口将所述进程注册信息传递至所述管控根进程,以使所述管控根进程根据所述进程注册信息生成所述进程注册表;其中,所述配置接口为所述管控根进程为接收所述进程注册信息设置的数据通信接口。
在一些实施例中,所述进程注册信息,还包括:至少一个进程标识;其中,每个所述进程标识至少对应一种所述异常类型,并对应该进程标识发生该异常类型的异常时的所述处理方案。
在一些实施例中,所述处理方案,包括当前进程的依赖进程信息;
所述处理模块230,还用于:
基于所述处理方案,根据所述依赖进程信息对相应的依赖进程进行异常处理;
响应于完成对所述依赖进程的异常处理,对所述用户态进程进行异常处理。
在一些实施例中,所述处理模块230,还用于:
获取所述用户态进程的所述进程标识及至少一种所述异常类型;
响应于未获取到所述异常类型对应所述处理方案,则将所述处理方案默认设置为终止运行。
在一些实施例中,所述传输模块220,还用于:
检测所述用户态进程的传输通道,通过所述传输通道将所述异常信息传递给所述管控根进程;其中,所述传输通道对应该用户态进程或为任意用户态进程所共用。
在一些实施例中,对所述用户态进程进行异常处理的方式,包括:对所述用户态进程进行终止运行、重启运行或生成内存备份文件。
基于同一构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的进程管控方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的进程管控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任意一实施例所述的进程管控方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的进程管控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种进程管控方法,其特征在于,包括:
通过系统内核对用户态进程进行监测;
响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;
根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。
2.根据权利要求1所述的方法,其特征在于,所述通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理之前,所述方法还包括:
获取进程注册信息;其中,所述进程注册信息包括至少一种异常类型及所述异常类型对应的处理方案,以根据所述进程注册信息查找所述异常信息对应的所述异常类型及所述处理方案;
通过配置接口将所述进程注册信息传递至所述管控根进程,以使所述管控根进程根据所述进程注册信息生成所述进程注册表;其中,所述配置接口为所述管控根进程为接收所述进程注册信息设置的数据通信接口。
3.根据权利要求2所述的方法,其特征在于,所述进程注册信息,还包括:至少一个进程标识;其中,每个所述进程标识至少对应一种所述异常类型,并对应该进程标识发生该异常类型的异常时的所述处理方案。
4.根据权利要求3所述的方法,其特征在于,所述处理方案,包括当前进程的依赖进程信息;
所述通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理,包括:
基于所述处理方案,根据所述依赖进程信息对相应的依赖进程进行异常处理;
响应于完成对所述依赖进程的异常处理,对所述用户态进程进行异常处理。
5.根据权利要求3所述的方法,其特征在于,所述获取进程注册信息,包括:
获取所述用户态进程的所述进程标识及至少一种所述异常类型;
响应于未获取到所述异常类型对应所述处理方案,则将所述处理方案默认设置为终止运行。
6.根据权利要求1所述的方法,其特征在于,所述将所述异常信息传递给管控根进程,包括:
检测所述用户态进程的传输通道,通过所述传输通道将所述异常信息传递给所述管控根进程;其中,所述传输通道对应该用户态进程或为任意用户态进程所共用。
7.根据权利要求1所述的方法,其特征在于,对所述用户态进程进行异常处理的方式,包括:对所述用户态进程进行终止运行、重启运行或生成内存备份文件。
8.一种进程管控装置,其特征在于,包括:
检测模块,用于通过系统内核对用户态进程进行监测;
传输模块,用于响应于所述系统内核发现所述用户态进程发生异常,获取所述用户态进程的异常信息,将所述异常信息传递给管控根进程;
处理模块,用于根据所述异常信息,通过所述管控根进程基于进程注册表对所述用户态进程进行异常处理。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211297056.9A CN117917646A (zh) | 2022-10-21 | 2022-10-21 | 进程管控方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211297056.9A CN117917646A (zh) | 2022-10-21 | 2022-10-21 | 进程管控方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117917646A true CN117917646A (zh) | 2024-04-23 |
Family
ID=90729737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211297056.9A Pending CN117917646A (zh) | 2022-10-21 | 2022-10-21 | 进程管控方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117917646A (zh) |
-
2022
- 2022-10-21 CN CN202211297056.9A patent/CN117917646A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10503623B2 (en) | Monitoring containerized applications | |
US9003239B2 (en) | Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues | |
US8990772B2 (en) | Dynamically recommending changes to an association between an operating system image and an update group | |
US9355003B2 (en) | Capturing trace information using annotated trace output | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
US10552280B2 (en) | In-band monitor in system management mode context for improved cloud platform availability | |
EP3274839B1 (en) | Technologies for root cause identification of use-after-free memory corruption bugs | |
CN111800490A (zh) | 获取网络行为数据的方法、装置及终端设备 | |
US9069895B2 (en) | Analyzing concurrent debugging sessions | |
US20110202903A1 (en) | Apparatus and method for debugging a shared library | |
US8954932B2 (en) | Crash notification between debuggers | |
CN110532150B (zh) | 一种机箱管理方法、装置、存储介质及处理器 | |
CN112463574A (zh) | 软件测试方法、装置、系统、设备和存储介质 | |
CN117917646A (zh) | 进程管控方法、装置、电子设备及存储介质 | |
US10481993B1 (en) | Dynamic diagnostic data generation | |
CN114860432A (zh) | 一种内存故障的信息确定方法及装置 | |
US11048523B2 (en) | Enabling software sensor power operation requests via baseboard management controller (BMC) | |
CN110908869A (zh) | 一种应用程序数据监控方法、装置、设备及储存介质 | |
JP2009529722A (ja) | 追跡データを生成するための機器、方法、およびコンピュータ・プログラム製品 | |
CN114780283B (zh) | 一种故障处理的方法及装置 | |
US11144487B1 (en) | Method to overload hardware pin for improved system management | |
US20240020103A1 (en) | Parallelizing data processing unit provisioning | |
US20210326229A1 (en) | Method and apparatus to facilitate low latency fault mitigation, qos management and debug of a processing pipeline | |
CN108415788B (zh) | 用于对无响应处理电路作出响应的数据处理设备和方法 | |
JP2023147892A (ja) | 管理システム、情報処理装置、プログラム、及び情報処理方法 |
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 |