CN117170972A - 进程处理方法、装置、电子设备及可读存储介质 - Google Patents
进程处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117170972A CN117170972A CN202311123566.9A CN202311123566A CN117170972A CN 117170972 A CN117170972 A CN 117170972A CN 202311123566 A CN202311123566 A CN 202311123566A CN 117170972 A CN117170972 A CN 117170972A
- Authority
- CN
- China
- Prior art keywords
- tracking
- linked list
- tracking process
- target
- running state
- 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 639
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 79
- 230000002159 abnormal effect Effects 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 6
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 33
- 230000006870 function Effects 0.000 description 14
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种进程处理方法、装置、电子设备及可读存储介质,属于计算机技术领域。其中,本申请实施例提供的进程处理方法可以包括:通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,该第一时间间隔与第二时间间隔相等或具有倍数关系;对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种进程处理方法、装置、电子设备及可读存储介质。
背景技术
通常,在电子设备中运行多个进程的过程中,电子设备可以通过每个进程分别创建一个子进程,并通过每个子进程对所属的进程的运行状态进行监测,从而实现对多个进程的运行状态进行监测。
但是,由于电子设备可能需要创建较多的子进程,才可以实现对多个进程的运行状态进行监测,因此,可能会导致电子设备中运行的进程的数量较多,如此,导致电子设备的能耗较大。
发明内容
本申请实施例的目的是提供一种进程处理方法、装置、电子设备及可读存储介质,能够解决电子设备的能耗较大的问题。
第一方面,本申请实施例提供了一种进程处理方法,该方法包括:通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,该第一时间间隔与第二时间间隔相等或具有倍数关系;对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理。
第二方面,本申请实施例提供了一种进程处理装置,该进程处理装置包括:监测模块和处理模块。其中,监测模块,用于通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,该第一时间间隔与第二时间间隔相等或具有倍数关系。处理模块,用于对于监测模块监测确定的异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤。
本申请实施例中,电子设备可以通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测,对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,第一时间间隔与第二时间间隔相等或具有倍数关系,这样,一方面,通过目标监测进程不仅对中央处理器的运行状态进行监测,还对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的运行数量,另一方面,第一时间间隔与第二时间间隔相等或具有倍数关系,无需额外启动监测进程对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的启动次数,从而整体上节省了电子设备的能耗,并且,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,相比于采用统一的异常处理策略对各个异常跟踪进程进行处理,提高了对异常跟踪进程的处理准确性。
附图说明
图1是相关技术中电子设备的系统启动的流程示意图;
图2是本申请实施例提供的进程处理方法的流程示意图之一;
图3是本申请实施例提供的进程处理方法的流程示意图之二;
图4是本申请实施例提供的进程处理方法的流程示意图之三;
图5是本申请实施例提供的进程处理方法的流程示意图之四;
图6是本申请实施例提供的进程处理方法的创建用户空间接口的示意图;
图7是本申请实施例提供的进程处理方法中电子设备的系统启动的流程示意图;
图8是本申请实施例提供的进程处理装置的结构示意图;
图9是本申请实施例提供的电子设备的硬件结构示意图之一;
图10是本申请实施例提供的电子设备的硬件结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
以下将对本申请实施例涉及的术语进行说明。
1、内核进程和用户进程
内核进程,是一种在内核空间中运行的特殊进程,由电子设备的系统内核控制和调度,不属于用户进程的范畴。内核进程可以访问系统的资源,如内存、文件系统和设备驱动程序等,并能够执行敏感的系统任务。内核进程主要负责操作系统内部的管理工作。
用户进程:是一种在用户空间中运行的进程,由各种应用程序所创建,用户进程可以是init进程、各种应用程序的进程等。用户进程具有一定的资源限制,例如只能访问分配给该进程的内存等。
因此,内核进程和用户进程在运行上有很大的区别。其中,内核进程的创建和维护都由电子设备的系统内核来完成,而用户进程则需要进行用户态和内核态之间的切换才能调用系统资源。同时,内核进程具有更高的权限,并且可以访问更多的系统资源,而用户进程则需要遵循一定的系统规则和限制。
3、Watchdog
通常,在电子设备的系统启动的过程中,如图1所示,电子设备可以先通过系统引导装载机Bootloader加载系统内核Kernel,这样在Kernel初始化的过程中,可以创建Watchdog内核进程,并当Kernel完成初始化后,会启动用户空间进程,例如init进程等。
其中,Watchdog启动过程主要包括以下四个步骤:
1)首先Kernel可以创建一个Watchdog内核进程,该Watchdog内核进程的运行优先级为高优先级,因此,该Watchdog内核进程通常不会被卡住,从而可以用来检测CPU是否卡死。
2)其次Kernel可以设置Watchdog内核进程的检测时间,该检测时间可以为10秒(s)或15s。
3)再次Kernel可以启动Watchdog内核进程,以使得该Watchdog内核进程可以检测CPU是否卡死。
4)如果CPU在10s或15s内对硬件Watchdog执行喂狗操作,则Watchdog内核进程可以确定CPU未卡死;或者,如果CPU未在10s或15s内对硬件Watchdog执行喂狗操作,则Watchdog内核进程可以确定CPU卡死。
4、其他术语
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一进程可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请的说明书和权利要求书中的术语“至少一个(项)”、“至少之一”等指其包含对象中的任意一个、任意两个或两个以上的组合。例如,a、b、c中的至少一个(项),可以表示:“a”、“b”、“c”、“a和b”、“a和c”、“b和c”以及“a、b和c”,其中a,b,c可以是单个,也可以是多个。同理,“至少两个(项)”是指两个或两个以上,其表达的含义与“至少一个(项)”类似。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的进程处理方法、装置、电子设备及可读存储介质进行详细地说明。
本申请实施例提供的进程处理方法,执行主体可以为进程处理装置,或者电子设备,或者电子设备中的功能模块或实体。本申请实施例中以电子设备执行进程处理方法为例,说明本申请实施例提供的进程处理方法的。
图2示出了本申请实施例提供的一种进程处理方法的流程示意图。如图2所示,本申请实施例提供的一种进程处理方法可以包括下述的步骤101和步骤102。
步骤101、电子设备通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,第一时间间隔与第二时间间隔相等或具有倍数关系。
可以理解,上述目标监测进程用于对进程和中央处理器的运行状态进行监测。
在本申请的一些实施例中,上述目标监测进程具体可以为看门狗Watchdog内核进程。
可以理解,由于第一时间间隔与第二时间间隔相等或具有倍数关系,这样在通过目标监测进程对中央处理器和跟踪链表指示的跟踪进程的运行状态进行监测的过程中,可以跟随目标监测进程本身的运行和休眠,而无需额外唤醒目标监测进程进行监测。
在本申请的一些实施例中,上述第二时间间隔可以为x秒(s),x为[1,100]范围内的任一个整数。例如,第二时间间隔可以为10s或15s。在第一时间间隔与第二时间间隔具有倍数关系的情况下,第一时间间隔具体可以为第二时间间隔的y倍,y为[2,10]范围内的任一整数。例如,第一时间间隔可以为第二时间间隔的2倍。
在本申请的一些实施例中,上述第二时间间隔可以为预配置的时间间隔或用户设置的时间间隔,上述第一时间间隔可以为预配置的时间间隔或用户设置的时间间隔。
在本申请的一些实施例中,上述跟踪链表具体可以为:wdg_processes全局链表,该跟踪链表指示运行的至少一个跟踪进程。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的进程信息,该跟踪进程的进程信息包括以下至少一项:跟踪进程的名称、跟踪进程的第三时间间隔、跟踪进程的异常处理策略。
其中,上述跟踪进程的名称用于确定监测的进程。
其中,上述跟踪进程的第三时间间隔用于指示电子设备监测跟踪进程的时间间隔,该跟踪进程的第三时间间隔与第一时间间隔相等或具有倍数关系,第三时间间隔之间的关系可以由该跟踪进程的进程类型确定。
示例性地,在跟踪进程的进程类型为启动相关的内核进程类型或者为用户进程类型的情况下,该跟踪进程的第三时间间隔可以与第一时间间隔相等;在在跟踪进程的进程类型为守护进程类型或前台应用进程类型的情况下,该跟踪进程的第三时间间隔可以为第一时间间隔的a倍;在在跟踪进程的进程类型为普通进程类型或后台进程类型的情况下,该跟踪进程的第三时间间隔可以为第一时间间隔的b倍。其中,a小于b,例如a可以为2,b可以为4。
其中,上述跟踪进程的异常处理策略用于指示电子设备在监测到该跟踪进程处于异常运行状态的情况下,对该跟踪进程进行处理的处理方式。该处理方式可以包括以下任一项:重启处理方式、关闭处理方式。该跟踪进程的异常处理策略可以与跟踪进程执行任务的任务类型相关,例如,在该跟踪进程执行任务的任务类型为临时任务(例如dump进程执行的任务的任务类型)的情况下,则该跟踪进程的异常处理策略用于指示的处理方式可以为关闭处理方式;在该跟踪进程执行任务的任务类型为功能任务类型(例如Daemon进程执行的任务的任务类型)的情况下,则该跟踪进程的异常处理策略用于指示的处理方式可以为重启处理方式。
需要说明的是,上述“关闭处理方式”可以理解为:直接将跟踪进程杀掉,不用关心其业务逻辑是否完成,这样就可以释放占用的资源,而不会导致系统因为资源得不到而死机。上述“重启处理方式”可以理解为:先Kill掉这个进程,然后再重新启动。
进一步地,在处理方式为重启处理方式的情况下,若在第一次重启某个跟踪进程起的预定时长内,若重启该某个跟踪进程失败的次数大于或等于预定次数,则电子设备可以直接执行整机重启操作。其中,该预定时长具体可以为10s,该预定次数具体可以为5次。
举例说明,假设跟踪链表记录有跟踪进程1的进程信息,则该跟踪进程1的进程信息具体可以包括:
struct wdg_process{
struct list_head node;
structtask_struct*task;
unsigned long kick_time;
int method;
}
其中,“struct list_head node”信息用于将跟踪进程1的进程信息挂到跟踪链表中,“structtask_struct*task”信息即为跟踪进程1的名称,“unsigned long kick_time”信息即为跟踪进程1的第三时间间隔,“int
method”信息即为跟踪进程1的异常处理策略。
如此可知,由于在跟踪链表中记录有每个跟踪进程的名称、第三时间间隔以及异常处理策略中的至少一项,这样电子设备可以根据该跟踪链表准确地确定每个跟踪进程,和/或,可以按照不同的第三时间间隔对不同的跟踪进程进行监测,以实现对不同跟踪进程进行差异化监测,和/或,可以在不同的跟踪进程处于异常运行状态的情况下,采用不同的异常处理策略进行处理,以实现对不同跟踪进程进行差异化监测,因此,可以准确地对跟踪链表中的每个跟踪进程进行监测。
在本申请的一些实施例中,在目标监测进程启动的过程中会初始化进程检测功能,并创建上述跟踪链表,该跟踪链表指示运行的至少一个跟踪进程,从而电子设备可以通过目标监测进程每隔第一时间间隔对跟踪链表指示的每个跟踪进程的运行状态进行监测。
下面将举例说明,电子设备通过目标监测进程对跟踪链表指示的每个跟踪进程的运行状态进行监测的具体方案。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的第三时间间隔,该跟踪进程的第三时间间隔与第一时间间隔相等或具有倍数关系。可选地,结合图2,如图3所示,上述步骤101具体可以通过下述的步骤101a和步骤101b实现。
步骤101a、电子设备通过目标监测进程每隔第一时间间隔调用跟踪链表。
步骤101b、对于跟踪链表指示的其中一个跟踪进程,电子设备若根据跟踪进程的第三时间间隔确定跟踪进程满足监测条件,则对跟踪进程的运行状态进行监测。
在本申请的一些实施例中,上述监测条件具体可以为以下任一项:距离创建目标监测进程的时刻的时长等于第三时间间隔的时长、距离上一次对跟踪进程的运行状态进行监测的时刻的时长等于第三时间间隔的时长。
其中,在电子设备未对跟踪进程的运行状态进行监测的情况下,监测条件为距离创建目标监测进程的时刻的时长等于第三时间间隔的时长。
示例性地,假设第一时间间隔为15s,跟踪进程1的第三时间间隔为30s,则电子设备可以在创建目标监测进程的时刻的15s后,第一次通过目标监测进程调用跟踪链表,而此时距离创建目标监测进程的时刻的时长为15s,即距离创建目标监测进程的时刻的时长小于跟踪进程1的第三时间间隔30s,也即跟踪进程1不满足监测条件,此次电子设备并不会对跟踪进程1的运行状态进行监测;然后,电子设备可以在电子设备创建目标监测进程的时刻的30s后,第二次通过目标监测进程调用跟踪链表,而此时距离创建目标监测进程的时刻的时长为30s,即距离创建目标监测进程的时刻的时长等于跟踪进程1的第三时间间隔30s,也即跟踪进程1满足监测条件,此次电子设备会对跟踪进程1的运行状态进行监测。
其中,在电子设备已对跟踪进程的运行状态进行监测的情况下,监测条件为距离上一次对跟踪进程的运行状态进行监测的时刻的时长等于第三时间间隔的时长。
示例性地,假设第一时间间隔为10s,跟踪进程1的第三时间间隔为10s,且电子设备在创建目标监测进程的时刻的10s后,第一次对跟踪进程的运行状态进行监测,则电子设备可以在创建目标监测进程的时刻的20s后,即第二次通过目标监测进程调用跟踪链表,而此时距离第一次对跟踪进程的运行状态进行监测的时刻的时长为10s,即距离上一次对跟踪进程的运行状态进行监测的时刻的时长等于跟踪进程1的第三时间间隔的时长,也即跟踪进程1满足监测条件,此次电子设备会对跟踪进程1的运行状态进行监测。
如此可知,由于在通过目标监测进程调用跟踪链表后,电子设备会根据每个跟踪进程的第三时间间隔确定跟踪进程是否满足监测条件,并对满足监测条件的跟踪进程的运行状态进行监测,而不是对全部跟踪进程的运行状态进行监测,因此,在确定对重要的跟踪进程进行监测的情况下,减少对不重要的跟踪进程进行监测的次数,从而可以减少电子设备的功耗。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表包括跟踪进程的运行状态数据写入区域。可选地,结合图2,如图4所示,在上述步骤101之后,且在上述步骤102之前,本申请实施例提供的进程处理方法还可以包括下述的步骤201和步骤202。
步骤201、对于跟踪链表指示的其中一个跟踪进程,电子设备确定跟踪进程的运行状态数据写入区域的运行状态数据是否有更新。
在本申请的一些实施例中,对于跟踪链表指示的其中一个跟踪进程,跟踪进程的进程信息中还包括该跟踪进程的运行状态数据写入区域,在该跟踪进程处于正常运行状态的情况下,该跟踪进程可以每隔预设时间时间,便更新该运行状态数据写入区域中的运行状态数据,从而电子设备可以通过该跟踪进程的运行状态数据写入区域的运行状态数据是否有更新,来确定该跟踪进程是否处于异常运行状态。
在本申请的一些实施例中,对于跟踪链表指示的其中一个跟踪进程,若根据跟踪进程的第三时间间隔确定跟踪进程满足监测条件,则电子设备可以确定跟踪进程的运行状态数据写入区域的运行状态数据是否有更新。
步骤202、在运行状态数据未更新的情况下,电子设备判定跟踪进程为异常运行状态。
在本申请的一些实施例中,若跟踪进程的运行状态数据写入区域的运行状态数据,与上一次确定的运行状态数据相匹配(例如相同)的情况下,电子设备可以确定运行状态数据未更新。
如此可知,由于电子设备可以直接根据跟踪进程的运行状态数据写入区域的运行状态数据是否有更新,来确定跟踪进程是否为异常运行状态,而无需电子设备在监测时再次确定跟踪进程是否长时间未响应,因此,可以减少电子设备确定跟踪进程为异常运行状态的耗时。
步骤102、对于异常运行状态的目标跟踪进程,电子设备根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理。
在本申请的一些实施例中,上述目标跟踪进程对应的异常处理策略用于指示对目标跟踪进程进行处理的处理方式,该处理方式可以包括以下任一项:重启处理方式、关闭处理方式。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的异常处理策略。可选地,结合图2,如图5所示,上述步骤102具体可以通过下述的步骤102a和步骤102b实现。
步骤102a、对于异常运行状态的目标跟踪进程,电子设备确定跟踪链表中记录的目标跟踪进程对应的异常处理策略。
在本申请的一些实施例中,电子设备可以先获取目标跟踪进程的名称,然后再根据该目标跟踪进程的名称,从跟踪链表中记录的各个名称中确定出相匹配的一个名称,以及,将该一个名称对应的异常处理策略,确定为目标跟踪进程对应的异常处理策略。
步骤102b、电子设备根据异常处理策略对目标跟踪进程进行处理。
可以理解,在目标跟踪进程对应的异常处理策略指示对目标跟踪进程进行处理的处理方式为重启处理方式的情况下,电子设备可以先关闭目标跟踪进程,再重新启动该目标跟踪进程。或者,在目标跟踪进程对应的异常处理策略指示对目标跟踪进程进行处理的处理方式为关闭处理方式的情况下,电子设备可以直接关闭目标跟踪进程。
如此可知,由于电子设备可以直接根据跟踪链表中记录的信息,确定目标跟踪进程对应的异常处理策略,而无需电子设备再次确定,因此,可以减少电子设备对目标跟踪进程进行处理的耗时。
本申请实施例提供一种进程处理方法,电子设备可以通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测,对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,第一时间间隔与第二时间间隔相等或具有倍数关系,这样,一方面,通过目标监测进程不仅对中央处理器的运行状态进行监测,还对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的运行数量,另一方面,第一时间间隔与第二时间间隔相等或具有倍数关系,无需额外启动监测进程对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的启动次数,从而整体上节省了电子设备的能耗,并且,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,相比于采用统一的异常处理策略对各个异常跟踪进程进行处理,提高了对异常跟踪进程的处理准确性。
在本申请的一些实施例中,上述目标监测进程为第一进程类型;上述跟踪链表指示的跟踪进程的进程类型包括第一进程类型和第二进程类型。本申请实施例提供的进程处理方法还可以包括下述的步骤301、步骤302以及步骤303。
步骤301、对于待添加的第一跟踪进程,若第一跟踪进程为第一进程类型,则电子设备通过第一添加接口将第一跟踪进程的进程信息添加至跟踪链表,若第一跟踪进程为第二进程类型,则通过第二添加接口将第一跟踪进程的进程信息添加至跟踪链表。
需要说明的是,针对步骤301的执行顺序,本申请实施例在此不作限定;可以理解的是,在执行上述步骤101和步骤102之前,或在执行上述步骤101和步骤102的过程中,或在执行上述步骤101和步骤102之后,电子设备均可以在跟踪链表中添加待添加的第一跟踪进程的进程信息。
在本申请的一些实施例中,在电子设备创建一个进程时,若该一个进程与预设进程相匹配,则电子设备可以将该一个进程确定为待添加的第一跟踪进程。
可以理解,在电子设备对某个跟踪进程进行重启处理的情况下,在重启该某个跟踪进程时,也会将该某个跟踪进程确定为待添加的第一跟踪进程。
在本申请的一些实施例中,上述第一进程类型具体可以为内核进程类型,上述第二进程类型具体可以为用户进程类型。
在本申请的一些实施例中,上述第一添加接口具体可以为内核空间接口,上述第二添加接口具体可以为用户空间接口。
可选地,在内核空间接口使用时,需要导出节点给用户空间访问,内核空间接口只需要将加入跟踪链表的函数接口导出来给内核其他模块使用即可。其中,具体函数接口如下:
bool add_process_to_wdg(struct task_struct*task,int method,unsignedlong time)
EXPORT_SYMBOL(add_process_to_wdg);
示例性地,假设第一跟踪进程1为第一进程类型,例如内核进程类型,第一添加接口为内核空间接口,则具体使用方法如下:
int need_check_process(void)
{
add_process_to_wdg(current,method,kick_time);
}
其中,“current”信息即为第一跟踪进程1的进程号,“method”信息即为第一跟踪进程1对应的异常处理策略,“kick_time”信息即为第一跟踪进程1的第三时间间隔,可以理解,可以使用上述方法,通过内核空间接口将第一跟踪进程1的进程信息添加至跟踪链表中。
可选地,上述用户空间接口可以是内核空间的目标监测进程创建的,主要是提供proc/sys目录下的节点供用户空间程序访问,当第一跟踪进程需要将第一跟踪进程加入至跟踪链表中时,可以直接写这个节点。
示例性地,假设第一跟踪进程1为第二进程类型,例如用户进程类型,第二添加接口为用户空间接口,如图6所示,则电子设备可以通过内核空间Kernel Space的Watchdog内核进程创建该用户空间接口,例如用户空间接口P2,主要是提供proc/sys目录下的节点供用户空间程序访问,当第一跟踪进程需要将第一跟踪进程加入至跟踪链表中时,具体使用方法如下:
echo“pidmethodkick_time”>/proc/aaa
其中,“pid”信息即为第一跟踪进程1的进程号,“method”信息即为第一跟踪进程1对应的异常处理策略,“kick_time”信息即为第一跟踪进程1的第三时间间隔,可以理解,可以使用上述方法,通过用户空间接口将第一跟踪进程1的进程信息添加至跟踪链表中。
如此可知,对于待添加的第一跟踪进程,电子设备可以根据第一跟踪进程不同的进程类型,使用不同的添加接口,快速地将该第一跟踪进程的进程信息添加至跟踪链表中。
步骤302、对于待删除的第二跟踪进程,若第二跟踪进程为第一进程类型,则通过第一删除接口将第二跟踪进程的进程信息从跟踪链表中移除,若第二跟踪进程为第二进程类型,则通过第二删除接口将第二跟踪进程的进程信息从跟踪链表中移除。
需要说明的是,针对步骤302的执行顺序,本申请实施例在此不作限定;可以理解的是,在执行上述步骤101和步骤102之前,或在执行上述步骤101和步骤102的过程中,或在执行上述步骤101和步骤102之后,电子设备均可以将待删除的第二跟踪进程的进程信息从跟踪链表中移除。
在本申请的一些实施例中,在跟踪链表中的一个跟踪进程运行结束或关闭的情况下,电子设备可以将该一个跟踪进程确定为待删除的第二跟踪进程。
可以理解,在电子设备对某个跟踪进程进行关闭处理的情况下,在关闭该某个跟踪进程时,也会将该某个跟踪进程确定为待删除的第二跟踪进程。
在本申请的一些实施例中,上述第一删除接口具体可以为内核空间接口,上述第二删除接口具体可以为用户空间接口。其中,第一删除接口和第一添加接口可以集成为同一个接口,也可以是不同的接口;第二删除接口和第二添加接口可以集成为同一个接口,也可以是不同的接口。
需要说明的是,针对通过第一删除接口将第二跟踪进程的进程信息从跟踪链表中移除的说明,可以参考上述实施例中通过第一添加接口将第一跟踪进程的进程信息添加至跟踪链表的具体描述,针对通过第二删除接口将第二跟踪进程的进程信息从跟踪链表中移除的说明,可以参考上述实施例中通过第二添加接口将第一跟踪进程的进程信息添加至跟踪链表的具体描述,本申请实施例在此不再赘述。
如此可知,对于待删除的第二跟踪进程,电子设备可以根据第二跟踪进程不同的进程类型,使用不同的添加接口,快速地将第二跟踪进程的进程信息从跟踪链表中移除。
步骤303、对于待更新状态的第三跟踪进程,若第三跟踪进程为第一进程类型,则电子设备通过第一状态更新接口更新跟踪链表中的第三跟踪进程的运行状态数据,若第三跟踪进程为第二进程类型,则设备通过第二状态更新接口更新跟踪链表中的第三跟踪进程的运行状态数据。
需要说明的是,针对步骤303的执行顺序,本申请实施例在此不作限定;可以理解的是,在执行上述步骤101和步骤102之前,或在执行上述步骤101和步骤102的过程中,或在执行上述步骤101和步骤102之后,电子设备均可以更新跟踪链表中的第三跟踪进程的运行状态数据。
在本申请的一些实施例中,上述第一状态更新接口具体可以为内核空间访问接口,上述第二状态更新接口具体可以为用户空间访问接口。
示例性地,假设第三跟踪进程1为第一进程类型,例如内核进程类型,第一状态更新接口内核空间访问接口,则具体使用方法如下:
bool kick_process_wdg(structtask_struct*task,unsignedlogtime)
其中,“structtask_struct*task”信息为第三跟踪进程1的名称,从而电子设备可以根据该第三跟踪进程1的名称,从跟踪链表中确定第三跟踪进程的运行状态数据,并将该运行状态数据更新为“unsignedlogtime”信息。
示例性地,假设第三跟踪进程1为第二进程类型,例如用户进程类型,第二状态更新接口用户空间访问接口,则具体使用方法如下:
echo“pidkick_time”>/proc/bbb
其中,“pid”信息为第三跟踪进程1的名称,从而电子设备可以根据该第三跟踪进程1的名称,从跟踪链表中确定第三跟踪进程的运行状态数据,并将该运行状态数据更新为“kick_time”信息。
如此可知,对于待更新状态的第三跟踪进程,电子设备可以根据第三跟踪进程不同的进程类型,使用不同的状态更新接口,快速地更新跟踪链表中的第三跟踪进程的运行状态数据。
当然,在监测跟踪链表指示的各个跟踪进程的过程中,可能会出现某个跟踪进程被强制关闭的情况,此时电子设备可能无法通过上述的方法从跟踪链表中删除该某个跟踪进程的进程信息。为了解决上述问题,本申请实施例提供的进程处理方法还可以包括下述的步骤401和步骤402。
步骤401、电子设备检测进程关闭链表。
需要说明的是,针对步骤401的执行顺序,本申请实施例在此不作限定;可以理解的是,在执行上述步骤101和步骤102之前,或在执行上述步骤101和步骤102的过程中,或在执行上述步骤101和步骤102之后,电子设备均可以检测进程关闭链表。
在本申请的一些实施例中,在上述进程关闭链表中包括至少一个跟踪进程的名称。其中,电子设备可以在监测到某个跟踪进程被强制关闭的情况下,在上述进程关闭链表中写入该某个跟踪进程的名称,从而在该进程关闭链表中写入至少一个跟踪进程的名称。
在本申请的一些实施例中,电子设备可以每隔预定时间间隔调用一次进程关闭链表,并对该进程关闭链表进行一次检测。
步骤402、电子设备从跟踪链表中移除关闭链表指示的跟踪进程的进程信息。
在本申请的一些实施例中,电子设备可以先从进程关闭链表中获取至少一个跟踪进程的名称,然后再从跟踪链表中,确定与该至少一个跟踪进程的名称相匹配的至少一个名称,并将该至少一个名称对应的进程信息删除,从而可以移除关闭链表指示的跟踪进程的进程信息。
如此可知,由于电子设备可以检测进程关闭链表,并将进程关闭链表指示的跟踪进程的进程信息从跟踪链表中移除,因此,可以避免电子设备对已关闭的跟踪进程进行监测的情况,如此,可以减少电子设备的功耗。
下面将以具体的实例,举例说明本申请实施例提供的进程处理方法的具体步骤流程。
在本申请实施例中,在目标监测进程(例如Watchdog内核进程)启动的过程中,会初始化进程检测功能,通过该功能监测跟踪进程的运行状态。如图7所示,本申请实施例的进程处理方法主要分为5步:
(1)首先会创建一个跟踪链表,这个链表用来存放需要监测的跟踪进程;
(2)跟踪链表中的这些跟踪进程也需要做定期的检查,所以有个检测时间,例如上述实施例中的第三时间间隔;
(3)提供两套接口分别供内核进程和用户进程使用,例如上述实施例中的第一添加接口和第二添加接口,和/或,第一删除接口和第二删除接口,内核进程可以通过调用Watchdog模块导出的函数接口将自身加入到Watchdog监控的跟踪链表中;用户进程(例如init进程,应用程序等)则可以直接使用Watchdog中创建的sys/proc接口自行加入到跟踪链表中;
(4)Watchdog内核进程需要获取跟踪进程的运行状态,所以需要提供一个状态更新接口(例如上述实施例中的第一状态更新接口或第二状态更新接口)供检测的跟踪进程更新各自运行状态数据;
(5)如果有已经处于死亡Dead状态的跟踪进程则从跟踪链表中删除。
本申请实施例提供的进程处理方法,执行主体可以为进程处理装置。本申请实施例中以进程处理装置执行进程处理方法为例,说明本申请实施例提供的进程处理装置的。
图8示出了本申请实施例中涉及的进程处理装置的一种可能的结构示意图。如图8所示,进程处理装置50可以包括:监测模块51和处理模块52。
其中,监测模块51,用于通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,该第一时间间隔与第二时间间隔相等或具有倍数关系。处理模块52,用于对于监测模块51监测确定的异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理。
本申请实施例提供一种进程处理装置,进程处理装置可以通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测,对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,第一时间间隔与第二时间间隔相等或具有倍数关系,这样,一方面,通过目标监测进程不仅对中央处理器的运行状态进行监测,还对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的运行数量,另一方面,第一时间间隔与第二时间间隔相等或具有倍数关系,无需额外启动监测进程对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的启动次数,从而整体上节省了进程处理装置的能耗,并且,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,相比于采用统一的异常处理策略对各个异常跟踪进程进行处理,提高了对异常跟踪进程的处理准确性。
在一种可能的实现方式中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的进程信息,该跟踪进程的进程信息包括以下至少一项:跟踪进程的名称、跟踪进程的第三时间间隔、跟踪进程的异常处理策略。
在一种可能的实现方式中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的第三时间间隔,该跟踪进程的第三时间间隔与第一时间间隔相等或具有倍数关系。上述监测模块51,具体用于通过目标监测进程每隔第一时间间隔调用跟踪链表;并对于跟踪链表指示的其中一个跟踪进程,若根据跟踪进程的第三时间间隔确定跟踪进程满足监测条件,则对跟踪进程的运行状态进行监测。
在一种可能的实现方式中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的异常处理策略。上述处理模块52,具体用于对于异常运行状态的目标跟踪进程,确定跟踪链表中记录的目标跟踪进程对应的异常处理策略;并根据异常处理策略对目标跟踪进程进行处理。
在一种可能的实现方式中,对于跟踪链表指示的每个跟踪进程,该跟踪链表包括跟踪进程的运行状态数据写入区域。上述处理模块52,还用于对于跟踪链表指示的其中一个跟踪进程,确定跟踪进程的运行状态数据写入区域的运行状态数据是否有更新;并在运行状态数据未更新的情况下,判定跟踪进程为异常运行状态。
在一种可能的实现方式中,上述目标监测进程为第一进程类型;该跟踪链表指示的跟踪进程的进程类型包括第一进程类型和第二进程类型。上述处理模块52,还用于对于待添加的第一跟踪进程,若第一跟踪进程为第一进程类型,则通过第一添加接口将第一跟踪进程的进程信息添加至跟踪链表,若第一跟踪进程为第二进程类型,则通过第二添加接口将第一跟踪进程的进程信息添加至跟踪链表;并对于待删除的第二跟踪进程,若第二跟踪进程为第一进程类型,则通过第一删除接口将第二跟踪进程的进程信息从跟踪链表中移除,若第二跟踪进程为第二进程类型,则通过第二删除接口将第二跟踪进程的进程信息从跟踪链表中移除;以及,对于待更新状态的第三跟踪进程,若第三跟踪进程为第一进程类型,则通过第一状态更新接口更新跟踪链表中的第三跟踪进程的运行状态数据,若第三跟踪进程为第二进程类型,则通过第二状态更新接口更新跟踪链表中的第三跟踪进程的运行状态数据。
在一种可能的实现方式中,上述处理模块52,还用于检测进程关闭链表;从跟踪链表中移除关闭链表指示的跟踪进程的进程信息。
本申请实施例中的进程处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性地,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(mobile internetdevice,MID)、增强现实(augmentedreality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(network attached storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的进程处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的进程处理装置能够实现图2至图7的方法实施例实现的各个过程,为避免重复,这里不再赘述。
在本申请的一些实施例中,如图9所示,本申请实施例还提供一种电子设备60,包括处理器61和存储器62,存储器62上存储有可在所述处理器61上运行的程序或指令,该程序或指令被处理器61执行时实现上述进程处理方法实施例的各个过程步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图10为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、以及处理器110等部件。
本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器110,用于通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,该第一时间间隔与第二时间间隔相等或具有倍数关系;并对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理。
本申请实施例提供一种电子设备,电子设备可以通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测,对于异常运行状态的目标跟踪进程,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,其中,通过目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,第一时间间隔与第二时间间隔相等或具有倍数关系,这样,一方面,通过目标监测进程不仅对中央处理器的运行状态进行监测,还对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的运行数量,另一方面,第一时间间隔与第二时间间隔相等或具有倍数关系,无需额外启动监测进程对跟踪链表指示的跟踪进程的运行状态进行监测,减少了监测进程的启动次数,从而整体上节省了电子设备的能耗,并且,根据目标跟踪进程对应的异常处理策略对目标跟踪进程进行处理,相比于采用统一的异常处理策略对各个异常跟踪进程进行处理,提高了对异常跟踪进程的处理准确性。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的第三时间间隔,该跟踪进程的第三时间间隔与第一时间间隔相等或具有倍数关系。
处理器110,具体用于通过目标监测进程每隔第一时间间隔调用跟踪链表;并对于跟踪链表指示的其中一个跟踪进程,若根据跟踪进程的第三时间间隔确定跟踪进程满足监测条件,则对跟踪进程的运行状态进行监测。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表记录有跟踪进程的异常处理策略。
处理器110,具体用于对于异常运行状态的目标跟踪进程,确定跟踪链表中记录的目标跟踪进程对应的异常处理策略;并根据异常处理策略对目标跟踪进程进行处理。
在本申请的一些实施例中,对于跟踪链表指示的每个跟踪进程,该跟踪链表包括跟踪进程的运行状态数据写入区域。
处理器110,还用于对于跟踪链表指示的其中一个跟踪进程,确定跟踪进程的运行状态数据写入区域的运行状态数据是否有更新;并在运行状态数据未更新的情况下,判定跟踪进程为异常运行状态。
在本申请的一些实施例中,上述目标监测进程为第一进程类型;上述跟踪链表指示的跟踪进程的进程类型包括第一进程类型和第二进程类型。
处理器110,还用于对于待添加的第一跟踪进程,若第一跟踪进程为第一进程类型,则通过第一添加接口将第一跟踪进程的进程信息添加至跟踪链表,若第一跟踪进程为第二进程类型,则通过第二添加接口将第一跟踪进程的进程信息添加至跟踪链表;并对于待删除的第二跟踪进程,若第二跟踪进程为第一进程类型,则通过第一删除接口将第二跟踪进程的进程信息从跟踪链表中移除,若第二跟踪进程为第二进程类型,则通过第二删除接口将第二跟踪进程的进程信息从跟踪链表中移除;以及,对于待更新状态的第三跟踪进程,若第三跟踪进程为第一进程类型,则通过第一状态更新接口更新跟踪链表中的第三跟踪进程的运行状态数据,若第三跟踪进程为第二进程类型,则通过第二状态更新接口更新跟踪链表中的第三跟踪进程的运行状态数据。
在本申请的一些实施例中,处理器110,还用于检测进程关闭链表;并从跟踪链表中移除关闭链表指示的跟踪进程的进程信息。
应理解的是,本申请实施例中,输入单元104可以包括图形处理器(graphicsprocessing unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元106可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1061。用户输入单元107包括触控面板1071以及其他输入设备1072中的至少一种。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器109可以包括易失性存储器或非易失性存储器,或者,存储器109可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledatarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。本申请实施例中的存储器109包括但不限于这些和任意其它适合类型的存储器。
处理器110可包括一个或多个处理单元;可选地,处理器110集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述进程处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述进程处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述进程处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种进程处理方法,其特征在于,所述方法包括:
通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过所述目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,所述第一时间间隔与所述第二时间间隔相等或具有倍数关系;
对于异常运行状态的目标跟踪进程,根据所述目标跟踪进程对应的异常处理策略对所述目标跟踪进程进行处理。
2.根据权利要求1所述的方法,其特征在于,对于所述跟踪链表指示的每个跟踪进程,所述跟踪链表记录有所述跟踪进程的进程信息,所述跟踪进程的进程信息包括以下至少一项:所述跟踪进程的名称、所述跟踪进程的第三时间间隔、所述跟踪进程的异常处理策略。
3.根据权利要求1所述的方法,其特征在于,对于所述跟踪链表指示的每个跟踪进程,所述跟踪链表记录有所述跟踪进程的第三时间间隔,所述跟踪进程的第三时间间隔与所述第一时间间隔相等或具有倍数关系;
所述通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测,包括:
通过所述目标监测进程每隔所述第一时间间隔调用所述跟踪链表;
对于所述跟踪链表指示的其中一个跟踪进程,若根据所述跟踪进程的第三时间间隔确定所述跟踪进程满足监测条件,则对所述跟踪进程的运行状态进行监测。
4.根据权利要求1所述的方法,其特征在于,对于所述跟踪链表指示的每个跟踪进程,所述跟踪链表记录有所述跟踪进程的异常处理策略;
所述对于异常运行状态的目标跟踪进程,根据所述目标跟踪进程对应的异常处理策略对所述目标跟踪进程进行处理,包括:
对于异常运行状态的目标跟踪进程,确定所述跟踪链表中记录的所述目标跟踪进程对应的异常处理策略;
根据所述异常处理策略对所述目标跟踪进程进行处理。
5.根据权利要求1所述的方法,其特征在于,对于所述跟踪链表指示的每个跟踪进程,所述跟踪链表包括所述跟踪进程的运行状态数据写入区域;
所述方法还包括:
对于所述跟踪链表指示的其中一个跟踪进程,确定所述跟踪进程的运行状态数据写入区域的运行状态数据是否有更新;
在所述运行状态数据未更新的情况下,判定所述跟踪进程为异常运行状态。
6.根据权利要求1所述的方法,其特征在于,所述目标监测进程为第一进程类型;所述跟踪链表指示的跟踪进程的进程类型包括所述第一进程类型和第二进程类型;
所述方法还包括:
对于待添加的第一跟踪进程,若所述第一跟踪进程为所述第一进程类型,则通过第一添加接口将所述第一跟踪进程的进程信息添加至所述跟踪链表,若所述第一跟踪进程为所述第二进程类型,则通过第二添加接口将所述第一跟踪进程的进程信息添加至所述跟踪链表;
对于待删除的第二跟踪进程,若所述第二跟踪进程为所述第一进程类型,则通过第一删除接口将所述第二跟踪进程的进程信息从所述跟踪链表中移除,若所述第二跟踪进程为所述第二进程类型,则通过第二删除接口将所述第二跟踪进程的进程信息从所述跟踪链表中移除;
对于待更新状态的第三跟踪进程,若所述第三跟踪进程为所述第一进程类型,则通过第一状态更新接口更新所述跟踪链表中的第三跟踪进程的运行状态数据,若所述第三跟踪进程为所述第二进程类型,则通过第二状态更新接口更新所述跟踪链表中的第三跟踪进程的运行状态数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测进程关闭链表;
从所述跟踪链表中移除所述关闭链表指示的跟踪进程的进程信息。
8.一种进程处理装置,其特征在于,所述进程处理装置包括:监测模块和处理模块;
所述监测模块,用于通过目标监测进程每隔第一时间间隔对跟踪链表指示的跟踪进程的运行状态进行监测;其中,通过所述目标监测进程每隔第二时间间隔对中央处理器的运行状态进行监测,所述第一时间间隔与所述第二时间间隔相等或具有倍数关系;
所述处理模块,用于对于所述监测模块监测确定的异常运行状态的目标跟踪进程,根据所述目标跟踪进程对应的异常处理策略对所述目标跟踪进程进行处理。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的进程处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的进程处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311123566.9A CN117170972A (zh) | 2023-09-01 | 2023-09-01 | 进程处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311123566.9A CN117170972A (zh) | 2023-09-01 | 2023-09-01 | 进程处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117170972A true CN117170972A (zh) | 2023-12-05 |
Family
ID=88946360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311123566.9A Pending CN117170972A (zh) | 2023-09-01 | 2023-09-01 | 进程处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170972A (zh) |
-
2023
- 2023-09-01 CN CN202311123566.9A patent/CN117170972A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7386859B2 (en) | Method and system for effective management of client and server processes | |
US8943592B1 (en) | Methods of detection of software exploitation | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
TW200713053A (en) | Method and computer system for securing backup data from damage by virus and hacker program | |
US7567257B2 (en) | Partition-based undo of partitioned object graph | |
US20050044292A1 (en) | Method and apparatus to retain system control when a buffer overflow attack occurs | |
CN109634802B (zh) | 进程监控方法及终端设备 | |
CN105224403B (zh) | 一种中断处理方法及装置 | |
US20180225126A1 (en) | Management with respect to a basic input/output system policy | |
CN114281653B (zh) | 应用程序的监控方法、装置及计算设备 | |
US8468388B2 (en) | Restoring programs after operating system failure | |
EP2979182B1 (en) | On-demand scalable timer wheel | |
CN117170972A (zh) | 进程处理方法、装置、电子设备及可读存储介质 | |
CN113282435B (zh) | 应用异常的处理方法和电子设备 | |
US11036551B2 (en) | Durable program execution | |
CN110837433A (zh) | 性能优化方法、装置及电子设备 | |
JP2008108155A (ja) | 稼働実績情報に基づくモジュール切替システム | |
CN112784276A (zh) | 可信度量的实现方法及装置 | |
JP2004213122A (ja) | クライアント/サーバによる制御システムの安定稼働方法及びそのプログラム | |
JPH11134204A (ja) | スタック保護装置 | |
CN116991605A (zh) | 进程处理方法、装置、电子设备和可读存储介质 | |
CN116700866A (zh) | 窗口绘制方法、装置、电子设备 | |
CN116954925A (zh) | 内存释放方法、装置、电子设备及介质 | |
US20130160033A1 (en) | Hook re-entry prevention device and recording medium, in which program for executing method thereof in computer is recorded thereon | |
CN117311967A (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 |