CN116991605A - 进程处理方法、装置、电子设备和可读存储介质 - Google Patents
进程处理方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN116991605A CN116991605A CN202310978825.XA CN202310978825A CN116991605A CN 116991605 A CN116991605 A CN 116991605A CN 202310978825 A CN202310978825 A CN 202310978825A CN 116991605 A CN116991605 A CN 116991605A
- Authority
- CN
- China
- Prior art keywords
- processed
- list
- state
- waiting
- information
- 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 528
- 230000008569 process Effects 0.000 title claims abstract description 509
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims description 31
- 230000005856 abnormality Effects 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 101150083764 KCNK9 gene Proteins 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种进程处理方法、装置、电子设备和可读存储介质,属于电子设备技术领域。具体方案包括:获取处于等待唤醒状态的时长大于预设时长的待处理进程;在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程;所述待处理进程的进程信息包括以下至少一项:所述待处理进程的进程名称、所述待处理进程的进程关键信息。
Description
技术领域
本申请属于电子设备技术领域,具体涉及一种进程处理方法、装置、电子设备和可读存储介质。
背景技术
由于多个进程共享内存会存在竞争问题,因此内核为了保护共享内存,提供了一种读写锁机制,即只有持有读写锁的进程才能访问共享内存进行读写操作。
在相关技术中,当进程组中的持锁进程长时间持有读写锁时,可能导致进程组内其他等锁进程长时间等待读写锁,即长时间处于TASK_UNINTERRUPTIBLE状态。如果等锁进程处于该状态的时长超过指定时长,那么内核会触发系统保护机制,例如关机重启,但是频繁地关机重启,导致系统的稳定性较差。
发明内容
本申请实施例的目的是提供一种进程处理方法、装置、电子设备和可读存储介质,能够提高电子设备的系统稳定性。
第一方面,本申请实施例提供了一种进程处理方法,该方法包括:获取处于等待唤醒状态的时长大于预设时长的待处理进程;在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程;待处理进程的进程信息包括以下至少一项:待处理进程的进程名称、待处理进程的进程关键信息。
第二方面,本申请实施例提供了一种进程处理装置,包括:获取模块和处理模块;该获取模块,用于获取处于等待唤醒状态的时长大于预设时长的待处理进程;该处理模块,用于在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程;待处理进程的进程信息包括以下至少一项:待处理进程的进程名称、待处理进程的进程关键信息。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,获取处于等待唤醒状态的时长大于预设时长的待处理进程,在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程,该待处理进程的进程信息包括以下至少一项:待处理进程的进程名称、待处理进程的进程关键信息,一方面,利用待处理进程的进程信息可以全面识别出不启动系统保护进程的待处理进程,另一方面,对于部分处于等待唤醒状态的时长大于预设时长的待处理进程不启动系统保护进程,降低了关机重启机率,从而整体上提高了系统的稳定性。
附图说明
图1是本申请实施例提供的进程处理方法的流程示意图之一;
图2是本申请实施例提供的进程处理方法的流程示意图之二;
图3是本申请实施例提供的进程处理方法的结构框图;
图4是本申请实施例提供的进程处理装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图;
图6是本申请实施例提供的电子设备的硬件示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面先对本申请实施例中涉及的专业名词进行解释说明。
进程状态:反映进程执行过程的变化,这些状态随着进程的执行和外界条件的变化而转换。
等待唤醒状态(TASK_UNINTERRUPTIBLE):简称D状态,是指进程处于不可中断的睡眠状态,该状态下的进程必须在等待的条件满足时才能被唤醒。
已唤醒状态(TASK_RUNNING):简称R状态,是指进程处于运行或就绪状态,R状态进程包括正在CPU上执行的进程、和可执行但是尚未被调度执行的进程。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的进程处理方法进行详细地说明。
本申请实施例提供的进程处理方法,该进程处理方法的执行主体可以为电子设备或者电子设备中能够实现该进程处理方法的功能模块或功能实体,本申请实施例提及的电子设备包括但不限于手机、平板电脑、电脑、相机、可穿戴设备等,下面以电子设备作为执行主体为例对本申请实施例提供的进程处理方法进行说明。
内核用于管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。例如,多个进程共享内存会存在竞争问题,内核为了保护共享内存,提供了一种读写锁机制,即只有持有读写锁的进程才能访问共享内存进行读写操作。一个线程组的多个进程在等待读写锁的进程中都处于等待唤醒状态(即D状态),而持有读写锁的进程处于已唤醒状态(即R状态),处于R状态的进程可以占用共享内存执行读写操作。
在相关技术中,当线程组中的持锁进程长时间持有读写锁时,可能导致线程组内其他等锁进程长时间等待读写锁,即长时间处于D状态。如果等锁进程处于D状态时间超过预设时长,那么内核就会打印系统中所有处于D状态的进程栈,再触发系统保护进程,例如关机重启。
然而,发明人发现,并非所有长期处于D状态的进程都会对系统运行产生影响。
由此,本申请实施例提供了一种进程处理方法,可以获取处于等待唤醒状态的时长大于预设时长的待处理进程;在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程;待处理进程的进程信息包括以下至少一项:待处理进程的进程名称、待处理进程的进程关键信息。通过该方案,一方面,利用待处理进程的进程信息可以全面识别出不启动系统保护进程的待处理进程,另一方面,对于部分处于等待唤醒状态的时长大于预设时长的待处理进程不启动系统保护进程,降低了关机重启机率,从而整体上提高了系统的稳定性。
如图1所示,本申请实施例提供了一种进程处理方法,该方法可以包括步骤101-步骤102:
步骤101、获取处于等待唤醒状态的时长大于预设时长的待处理进程。
可选地,电子设备可以根据进程是否发生调度来确定并获取处于等待唤醒状态的时长大于预设时长的待处理进程。
具体地,在开机时,电子设备可以先对内核进行初始化处理,并启动内核进程“hung_task”,该内核进程“hung_task”可以用于检测处于D状态的时长大于预设时长的进程,以预设时长为150s为例,当内核进程“hung_task”的睡眠等待时间超过150s之后,就可以开始对所有进程的进行遍历,当完成遍历后,电子设备可以根据进程是否发生调度来确定处于等待唤醒状态的时长大于预设时长的待处理进程,也就是说,若一个进程发生调度,则跳过该进程,并对下一个进程进行判断;若一个进程未发生调度,则可以将该进程确定为待处理进程。
可选地,在内核进程“hung_task”对所有进程进行遍历的过程中,可以对异常进程进行异常标记,例如,可以进行“panic”或“enable”标记。当完成遍历后,电子设备可以对有异常标记的进程进行相应地异常处理。
步骤102、在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程。
其中,待处理进程的进程信息包括以下至少一项:待处理进程的进程名称、待处理进程的进程关键信息。
可选地,上述第一名单中可以包括至少一个第一进程的进程信息,第一进程为在等待唤醒状态的时长大于预设时长的情况下,禁止启动系统保护进程的进程,即第一进程为无需通过系统保护进程调整进程状态的进程。
需要说明的是,在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程是指若第一名单包括待处理进程的进程信息,则即使待处理进程处于D状态超过预设时长也无需启动系统保护进程。
可选地,上述第一进程可以包括成熟平台、成熟项目的预定义列表中的进程,可以包括开发人员经测试确定的“hung_task”误触发的进程,可以包括通过大数据收集的、可以长时间处于D状态而不影响系统稳定性的进程。
示例性地,第一进程可以为MMC指令“mmc-cmd6d”、手机与电脑互传资料的进程“MtpServer”、系统交换空间的进程“swapon”、内存归整的进程“kcompactd0”、建立交换分区的进程“mkswap”以及同步磁盘的进程“sync”等。
可选地,待处理进程的进程信息包括待处理进程的进程名称。
电子设备可以将长时间处于D状态而无需启动系统保护进程的进程名称写入第一名单“hung_task_whitelist”,进程名称之间以符号“|”隔开,例如:Task1|task2|task3|task4,每个进程名称最长可以设置为15个字符。
可选地,待处理进程的进程信息包括待处理进程的进程关键信息。待处理进程的进程关键信息可以为待处理进程的调用栈路径的关键字。
可选地,由于一些进程在执行过程中,其进程名可能会发生变化,因此内核进程“hung_task”不仅可以基于进程名称进行进程筛选,还可以基于进程关键信息进行进程筛选,该进程关键信息可以为调用栈路径的关键字。
示例性地,进程名称为“worker”的进程在每次执行过程中,其进程名称都会增加不同的数字:
第一次运行时的进程名称为:[kworker/1:1];
第二次运行时的进程名称为:[kworker/2:0];
第三次运行时的进程名称为:[kworker/1:0-events];
第四次运行时的进程名称为:[kworker/0:0-events];
第五次运行时的进程名称为:[kworker/0:1-events];
第六次运行时的进程名称为:[kworker/6:0-events];
第七次运行时的进程名称为:[kworker/1:2H-kblockd]。
可选地,电子设备可以将长时间处于D状态而无需启动系统保护进程的一个或多个调用栈路径的关键字写入第一名单“hung_task_keyword_whitelist”,关键字之间以符号“|”隔开,例如:Keyword1|keyword2|keyword3,每个关键字最长为KSYM_SYMBOL_LEN个字符,关键字表示进程执行路径里的某一级函数名称,例如可将”wakeup_source_unregister”字符串加入到hung_task_keyword_whitelist,表示如果有进程在执行到”wakeup_source_unregister”调用卡住时,无需通过启动系统保护进程调整进程状态。
可选地,电子设备可以确定待处理进程的进程名称和进程关键信息,并基于该进程名称和进程关键信息遍历第一名单。由于可以基于进程名称和进程关键信息遍历第一名单,因此可以避免进程名称改变而导致的无法检索到待处理进程的弊端。
可选地,电子设备可以通过进程函数调用集调用栈路径的关键字。
可选地,在第一名单包括待处理进程的进程信息的情况下,电子设备可以禁止启动系统保护进程,并保持待处理进程的等待唤醒状态,并对下一个进程的进程状态进行检测。
需要说明的是,第一进程为无需通过系统保护进程调整进程状态的进程,是指处于等待唤醒状态的第一进程不会引起系统异常,因此,若待处理进程的进程信息属于第一名单,则无需启动系统保护进程。
在本申请实施例中,由于可以在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程,因此可以实现对待处理进程的区别处理,从而降低系统重启机率,提高系统稳定性。
可选地,如图2所示,在获取处于等待唤醒状态的时长大于预设时长的待处理进程之后,本申请实施例提供的进程处理方法还可以包括步骤103,在第一名单不包括待处理进程的进程信息的情况下,本申请实施例提供的进程处理方法还可以包括步骤104-105:
步骤103、判断第一名单是否包括待处理进程的进程信息。
步骤104、在第一名单不包括待处理进程的进程信息的情况下,判断第二名单是否包括待处理进程的进程信息。
在第二名单包括待处理进程的进程信息的情况下,执行步骤105:
步骤105、将待处理进程的进程状态由等待唤醒状态调整为已唤醒状态。
其中,第二名单包括至少一个第二进程的进程信息,第二进程为在等待唤醒状态的时长大于预设时长的情况下,需要通过启动系统保护进程调整进程状态的进程。
具体地,电子设备可以在第一名单不包括待处理进程的进程信息的情况下,再基于进程名称和进程关键信息遍历第二名单,以确定第二名单是否包括待处理进程的进程信息,在第二名单包括待处理进程的进程信息的情况下,电子设备可以将待处理进程的进程状态由等待唤醒状态调整为已唤醒状态。
需要说明的是,第二进程为处于D状态超过预设时长将会启动系统保护进程的进程,系统保护进程用于将进程的进程状态从等待唤醒状态调整为已唤醒状态。
可选地,第二进程可以包括通过大数据收集的、长时间处于D状态会影响系统稳定性的进程。
可选地,第二进程的进程信息包括第二进程的进程名称和第二进程的进程关键信息。
可选地,电子设备可以将不能长时间处于D状态的进程名称写入第二名单“hung_task_criticallist”,进程名称之间以符号“|”隔开,例如:Task1|task2|task3|task4,每个进程名称最长可以设置为15个字符。
可选地,电子设备可以将不能长时间处于D状态的一个或多个进程关键信息写入第二名单“hung_task_keyword_criticallist”,关键信息之间以符号“|”隔开,例如:Keyword1|keyword2|keyword3,每个关键信息最长为KSYM_SYMBOL_LEN个字符,关键信息表示进程执行路径里的某一级函数名称,例如可将”wakeup_source_unregister”字符串加入到hung_task_keyword_whitelist,表示如果有进程在执行到”wakeup_source_unregister”调用卡住时将会启动系统保护进程。
可选地,在确定第二名单包括待处理进程的进程信息的情况下,电子设备可以将启动系统保护进程的标志进程“call_panic_critical”的状态从“false”更新为“true”。也就是说,当标志进程“call_panic_critical”的状态为“true”时,将启动系统保护进程进行进程状态调整。
在本申请实施例中,由于可以在第二名单包括待处理进程的进程信息的情况下,将待处理进程的进程状态由等待唤醒状态调整为已唤醒状态,因此可以实现对处于等待唤醒状态进程的分类诊断和区别处理,从而提高触发系统保护进程的准确度,降低系统重启机率,提高系统稳定性。
可选地,如图2所示,在第二名单不包括待处理进程的进程信息的情况下,本申请实施例提供的进程处理方法还可以包括步骤106-步骤108:
步骤106、在第一名单和第二名单均不包括待处理进程的进程信息的情况下,判断处于等待唤醒状态的待处理进程是否会引起系统异常。
可选地,若存在以下至少一种情况,则电子设备可以判定处于等待唤醒状态的待处理进程会引起系统异常:存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值。
可选地,上述系统关键进程可以为系统运行的关键进程,例如,可以为进程“sytemui”、进程“system_server”等。上述系统资源可以为内存资源、存储器资源等。
由于可以通过存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值等情况判定处于等待唤醒状态的待处理进程会引起系统异常,因此可以实现对系统异常的监测。
可选地,电子设备可以通过目标监测进程判断处于等待唤醒状态的待处理进程是否会引起系统异常。
具体地,上述目标监测进程可以为“system_health_monitor”,电子设备可以在待处理进程的进程信息既不属于第一名单、也不属于第二名单的情况下,先将待处理进程写入列表“wait_check_list”,然后通过目标监测进程“system_health_monitor”监测是否存在以下至少一种情况:存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值。即电子设备可以通过目标监测进程“system_health_monitor”监测当前是否存在处于非正常运行状态的系统关键进程,监测是否存在不可用的系统资源以及监测系统卡顿时长是否大于第一时间阈值。
可选地,在通过目标监测进程监测系统之前,电子设备可以将目标监测进程添加至第二名单中。
具体地,由于目标监测进程可以用于监测系统,因此,为了保证系统监测的正常运行,就需要保证目标监测进程的正常运行,将目标监测进程添加到第二名单中,可以实现对目标监测进程的重点监测。
基于上述方案,由于可以将目标监测进程添加至第二名单中,因此可以实现对目标监测进程的重点监测,从而在确定目标监测进程处于D状态超时时,可以及时调整进程状态以恢复目标监测进程的正常运行。
步骤107、在判定处于等待唤醒状态的待处理进程会引起系统异常的情况下,将待处理进程的进程信息添加至第二名单。
步骤108、在判定处于等待唤醒状态的待处理进程不会引起系统异常的情况下,将待处理进程的进程信息添加至第一名单。
在本申请实施例中,由于可以在第一名单和第二名单均不包括待处理进程的进程信息的情况下,判断待处理进程处于等待唤醒状态是否会引起系统异常,因此可以实现对第一名单和第二名单之外进程的进一步甄别,从而提高触发系统保护进程的准确度,降低系统重启机率,提高系统稳定性;由于可以在判定处于等待唤醒状态的所述待处理进程会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第二名单;在判定处于等待唤醒状态的所述待处理进程不会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第一名单,因此,可以实现第一名单和第二名单的动态更新。
可选地,电子设备可以获取服务器下发的动态配置信息;根据动态配置信息,更新第一名单和第二名单。
可选地,上述动态配置信息可以包括以下至少一项:第一名单更新信息、第二名单更新信息以及进程使能开关。
可选地,如表1所示,动态配置信息可以包括5个信息类型,分别为:第一名单更新信息“hung_task_whitelist”、第一名单更新信息“hung_task_keyword_whitelist”、第二名单更新信息“hung_task_criticallist”、第二名单更新信息“hung_task_keyword_criticallist”以及进程使能开关“hung_task_enable”。其中,进程使能开关“hung_task_enable”为功能开关,用于开启或关闭hung task功能。第一名单更新信息“hung_task_whitelist”中的进程名称为长期处于D状态而无需启动系统保护进程的进程名称,第一名单更新信息“hung_task_keyword_whitelist”为长期处于D状态而无需启动系统保护进程的进程关键信息。第二名单更新信息“hung_task_criticallist”中的进程名称为若长期处于D状态则需要启动系统保护进程的进程名称,第二名单更新信息“hung_task_keyword_criticallist”为若长期处于D状态则需要启动系统保护进程的进程关键信息。
表1
参数名 | 参数说明 |
hung_task_enable | hung_task enable开关 |
hung_task_whitelist | hung_task进程名动态whitelist |
hung_task_criticallist | hung_task进程名动态criticallist |
hung_task_keyword_whitelist | hung_task关键字动态whitelist |
hung_task_keyword_criticallist | hung_task关键字动态criticallist |
具体地,如图3所示,在电子设备内核空间更新第二名单或第一名单后,电子设备可以确定系统内核的动态配置信息,并同步至电子设备用户空间的系统服务,之后,电子设备可以通过系统服务将动态配置信息发送至服务器,服务器获取动态配置信息后,可以以配置文件的形式将该动态配置信息同步下发至所有电子设备。
因此,电子设备可以获取服务器下发的动态配置信息,并将该动态配置信息通过系统服务写入电子设备内核空间,即根据动态配置信息,更新第一名单和第二名单,当内核进程“hung task”运行时,就可以基于更新的动态配置信息(即更新的第一名单和第二名单)对进程进行状态检测。
示例性地,当电子设备1的内核空间更新第二名单或第一名单后,可以确定系统内核的动态配置信息,并将动态配置信息同步至电子设备用户空间的系统服务,电子设备1可以通过系统服务将该动态配置信息发送至服务器。服务器获取动态配置信息后,可以以配置文件的形式将该动态配置信息同步下发至电子设备2,电子设备2获取服务器下发的动态配置信息后,可以根据该动态配置信息,更新其系统内核的第一名单和第二名单。
在本申请实施例中,由于可以通过云配置实现第二名单与第一名单的动态调整更新,因此可以避免重新推送版本的繁琐操作。
本申请实施例提供的进程处理方法,执行主体可以为进程处理装置。本申请实施例中以进程处理装置执行进程处理方法为例,说明本申请实施例提供的进程处理装置。
如图4所示,本申请实施例还提供一种进程处理装置400,包括:获取模块401和处理模块402,获取模块401,用于获取处于等待唤醒状态的时长大于预设时长的待处理进程;处理模块402,用于在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程;所述待处理进程的进程信息包括以下至少一项:所述待处理进程的进程名称、所述待处理进程的进程关键信息。
可选地,处理模块402,还用于在第二名单包括所述待处理进程的进程信息的情况下,将所述待处理进程的进程状态由等待唤醒状态调整为已唤醒状态。
可选地,处理模块402,还用于在第一名单和所述第二名单均不包括所述待处理进程的进程信息的情况下,判断处于等待唤醒状态的所述待处理进程是否会引起系统异常;在判定处于等待唤醒状态的所述待处理进程会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第二名单;在判定处于等待唤醒状态的所述待处理进程不会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第一名单。
可选地,处理模块402,具体用于若存在以下至少一种情况,则判定处于等待唤醒状态的所述待处理进程会引起系统异常:存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值。
可选地,处理模块402,具体用于通过目标监测进程判断处于等待唤醒状态的所述待处理进程是否会引起系统异常;处理模块402,还用于将所述目标监测进程添加至所述第二名单。
可选地,获取模块401,还用于获取服务器下发的动态配置信息;处理模块402,还用于根据所述动态配置信息,更新所述第一名单和所述第二名单。
可选地,待处理进程的进程关键信息为所述待处理进程的调用栈路径的关键字。
在本申请实施例中,一方面,利用待处理进程的进程信息可以全面识别出不启动系统保护进程的待处理进程,另一方面,对于部分处于等待唤醒状态的时长大于预设时长的待处理进程不启动系统保护进程,降低了关机重启机率,从而整体上提高了系统的稳定性。
本申请实施例中的进程处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的进程处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的进程处理装置能够实现图1至图3的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图5所示,本申请实施例还提供一种电子设备500,包括处理器501和存储器502,存储器502上存储有可在所述处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述进程处理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件。
本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器610,用于获取处于等待唤醒状态的时长大于预设时长的待处理进程;在第一名单包括待处理进程的进程信息的情况下,禁止启动系统保护进程;待处理进程的进程信息包括以下至少一项:所述待处理进程的进程名称、所述待处理进程的进程关键信息。
在本申请实施例中,一方面,利用待处理进程的进程信息可以全面识别出不启动系统保护进程的待处理进程,另一方面,对于部分处于等待唤醒状态的时长大于预设时长的待处理进程不启动系统保护进程,降低了关机重启机率,从而整体上提高了系统的稳定性。
可选地,处理器610,还用于在第二名单包括所述待处理进程的进程信息的情况下,将所述待处理进程的进程状态由等待唤醒状态调整为已唤醒状态。
在本申请实施例中,由于可以在第二名单包括待处理进程的进程信息的情况下,将待处理进程的进程状态由等待唤醒状态调整为已唤醒状态,因此可以实现对处于等待唤醒状态进程的分类诊断和区别处理,从而提高触发系统保护进程的准确度,降低系统重启机率,提高系统稳定性。
可选地,处理器610,还用于在第一名单和所述第二名单均不包括所述待处理进程的进程信息的情况下,判断处于等待唤醒状态的所述待处理进程是否会引起系统异常;在判定处于等待唤醒状态的所述待处理进程会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第二名单;在判定处于等待唤醒状态的所述待处理进程不会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第一名单。
在本申请实施例中,由于可以在第一名单和第二名单均不包括待处理进程的进程信息的情况下,判断待处理进程处于等待唤醒状态是否会引起系统异常,因此可以实现对第一名单和第二名单之外进程的进一步甄别,从而提高触发系统保护进程的准确度,降低系统重启机率,提高系统稳定性;由于可以在判定处于等待唤醒状态的所述待处理进程会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第二名单;在判定处于等待唤醒状态的所述待处理进程不会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第一名单,因此,可以实现第一名单和第二名单的动态更新。
可选地,处理器610,具体用于若存在以下至少一种情况,则判定处于等待唤醒状态的所述待处理进程会引起系统异常:存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值。
在本申请实施例中,由于可以通过存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值等情况判定处于等待唤醒状态的待处理进程会引起系统异常,因此可以实现对系统异常的监测。
可选地,处理器610,具体用于通过目标监测进程判断处于等待唤醒状态的所述待处理进程是否会引起系统异常;处理器610,还用于将所述目标监测进程添加至所述第二名单。
在本申请实施例中,由于可以将目标监测进程添加至第二名单中,因此可以实现对目标监测进程的重点监测,从而在确定目标监测进程处于D状态超时时,可以及时调整进程状态以恢复目标监测进程的正常运行。
可选地,处理器610,还用于获取服务器下发的动态配置信息;根据所述动态配置信息,更新所述第一名单和所述第二名单。
在本申请实施例中,由于可以通过云配置实现第二名单与第一名单的动态调整,因此可以避免重新推送版本的繁琐操作。
应理解的是,本申请实施例中,输入单元604可以包括图形处理器(GraphicsProcessing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元606可包括显示面板6061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072中的至少一种。触控面板6071,也称为触摸屏。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器609可以包括易失性存储器或非易失性存储器,或者,存储器609可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器609包括但不限于这些和任意其它适合类型的存储器。
处理器610可包括一个或多个处理单元;可选的,处理器610集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述进程处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述进程处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述进程处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种进程处理方法,其特征在于,包括:
获取处于等待唤醒状态的时长大于预设时长的待处理进程;
在第一名单包括所述待处理进程的进程信息的情况下,禁止启动系统保护进程;所述待处理进程的进程信息包括以下至少一项:所述待处理进程的进程名称、所述待处理进程的进程关键信息。
2.根据权利要求1所述的进程处理方法,其特征在于,所述方法还包括:
在第二名单包括所述待处理进程的进程信息的情况下,将所述待处理进程的进程状态由等待唤醒状态调整为已唤醒状态。
3.根据权利要求2所述的进程处理方法,其特征在于,所述方法还包括:
在所述第一名单和所述第二名单均不包括所述待处理进程的进程信息的情况下,判断处于等待唤醒状态的所述待处理进程是否会引起系统异常;
在判定处于等待唤醒状态的所述待处理进程会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第二名单;
在判定处于等待唤醒状态的所述待处理进程不会引起系统异常的情况下,将所述待处理进程的进程信息添加至所述第一名单。
4.根据权利要求3所述的进程处理方法,其特征在于,若存在以下至少一种情况,则判定处于等待唤醒状态的所述待处理进程会引起系统异常:存在处于非正常运行状态的系统关键进程、存在不可用的系统资源、系统卡顿时长大于第一时间阈值。
5.根据权利要求3所述的进程处理方法,其特征在于,所述判断处于等待唤醒状态的所述待处理进程是否引起系统异常,包括:
通过目标监测进程判断处于等待唤醒状态的所述待处理进程是否会引起系统异常;
所述方法还包括:
将所述目标监测进程添加至所述第二名单。
6.根据权利要求2所述的进程处理方法,其特征在于,所述方法还包括:
获取服务器下发的动态配置信息;根据所述动态配置信息更新所述第一名单和所述第二名单。
7.根据权利要求1所述的进程处理方法,其特征在于,所述待处理进程的进程关键信息为所述待处理进程的调用栈路径的关键字。
8.一种进程处理装置,其特征在于,包括:获取模块和处理模块;
所述获取模块,用于获取处于等待唤醒状态的时长大于预设时长的待处理进程;
所述处理模块,用于在第一名单包括所述待处理进程的进程信息的情况下,禁止启动系统保护进程;所述待处理进程的进程信息包括以下至少一项:所述待处理进程的进程名称、所述待处理进程的进程关键信息。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的进程处理方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的进程处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310978825.XA CN116991605A (zh) | 2023-08-04 | 2023-08-04 | 进程处理方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310978825.XA CN116991605A (zh) | 2023-08-04 | 2023-08-04 | 进程处理方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116991605A true CN116991605A (zh) | 2023-11-03 |
Family
ID=88523011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310978825.XA Pending CN116991605A (zh) | 2023-08-04 | 2023-08-04 | 进程处理方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991605A (zh) |
-
2023
- 2023-08-04 CN CN202310978825.XA patent/CN116991605A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8028177B2 (en) | Method for changing power states of a computer | |
KR102048329B1 (ko) | 애플리케이션 프로그램 실행 방법 및 장치 | |
EP3506105B1 (en) | Method and device for processing a memory and storage medium | |
US20050235094A1 (en) | Information processor capable of using past processing space | |
US8490118B2 (en) | Wait on address synchronization interface | |
WO2019024646A1 (zh) | 应用管控方法、装置及电子设备 | |
CN105847446B (zh) | 一种网络数据的获取方法、装置和系统 | |
US20240152439A1 (en) | Detection Method and Electronic Device | |
CN107818036B (zh) | 黑屏检测方法、移动终端及计算机可读存储介质 | |
CN117369888A (zh) | 电子设备的唤醒方法、装置、电子设备和可读存储介质 | |
CN106648916B (zh) | 计步器消息的上报方法及装置 | |
KR101595936B1 (ko) | 백신과 컴퓨터 최적화 기능을 구비한 컴퓨터 최적화 방법, 최적화 서버 및 컴퓨터 판독 가능한 기록매체 | |
CN108132803B (zh) | 基于移动终端的定时保活及唤醒方法、系统、终端及介质 | |
CN116302558A (zh) | 线程调度方法、装置及电子设备 | |
CN116991605A (zh) | 进程处理方法、装置、电子设备和可读存储介质 | |
CN115623557A (zh) | 找网频率确定方法、找网频率确定装置、和电子设备 | |
CN113282435B (zh) | 应用异常的处理方法和电子设备 | |
CN116450597A (zh) | 一种日志的管理方法以及相关装置 | |
CN107766210B (zh) | 黑屏检测方法、移动终端及计算机可读存储介质 | |
CN112732679B (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN117149391A (zh) | 线程管理方法、装置及电子设备 | |
CN117148216A (zh) | 漏电故障检测方法、装置、设备和存储介质 | |
CN118245392A (zh) | 内存回收方法、内存回收装置和电子设备 | |
CN117170972A (zh) | 进程处理方法、装置、电子设备及可读存储介质 | |
CN117271095A (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 |