一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

进程展示方法和装置与流程

2022-12-19 20:20:43 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种进程展示方法和装置。


背景技术:

2.在很多情况下,需要将电子设备上处于运行状态的进程展示出来。如,为了优化内存以及处理器占用率,一些性能优化应用可能会将电子设备上运行的应用程序中处于运行状态的进程的信息展示给用户。
3.但是,电子设备上同一时刻可能会运行有多种应用程序,而每个应用程序有可能会启动多个进程。在该种情况下,如果将全部应用程序运行的进程都展示给用户,必然存在展示的进程数量过多,导致进程信息展示不合理,从而不利于用户快速定位所需查找的某个应用程序下的进程。


技术实现要素:

4.本技术提供了一种进程展示方法和装置。
5.其中,一种进程展示方法,包括:
6.确定电子设备上运行的各应用程序关联的处于运行状态的进程;
7.从所述应用程序关联的处于运行状态的进程中,确定能够实现窗口展现的目标进程;
8.输出所述目标进程的进程信息。
9.在一种可能的实现方式中,所述从所述应用程序关联的处于运行状态的进程中,确定能够实现窗口展现的目标进程,包括:
10.确定所述应用程序关联的处于运行状态进程中的根进程;
11.如果所述根进程属于能够实现窗口展现的进程,将所述根进程确定为所述应用程序中待展示的目标进程;
12.如果所述根进程不属于能够实现窗口展现的进程,从所述根进程下的子进程中确定能够实现窗口展现的目标进程。
13.在又一种可能的实现方式中,在所述输出所述目标进程的进程信息之前,还包括:
14.如果所述应用程序关联的处于运行状态的进程中不存在能够实现窗口展现的进程,将所述应用程序的根进程确定为所述应用程序中待展示的目标进程。
15.在又一种可能的实现方式中,所述确定电子设备上运行的各应用程序关联的处于运行状态的进程,包括:
16.获得缓存的各应用程序的可启动进程信息,所述可启动进程信息包括所述应用程序能够启动的进程的信息;
17.基于各应用程序的可启动进程信息,确定电子设备中处于运行状态的各进程所归属的应用程序,得到电子设备中运行的各应用程序关联的且处于运行状态的进程。
18.在又一种可能的实现方式中,在获得缓存的各应用程序的可启动进程信息之前,
还包括:
19.从电子设备中第一类型的应用程序的配置文件中,获得所述第一类型的应用程序的各可执行文件的信息,将所述第一类型的应用程序的各可执行文件对应的进程的信息缓存为所述第一类型的应用程序的可启动进程信息;
20.基于所述电子设备中运行的属于设定进程类型的各进程之间的调用关系,确定各第二类型的应用程序的可启动进程信息,缓存所述第二类型的应用程序的可启动进程信息,所述设定进程类型为第二类型的应用程序关联的进程对应的类型。
21.在又一种可能的实现方式中,所述基于所述电子设备中运行的属于设定进程类型的各进程之间的调用关系,确定各第二类型的应用程序的可启动进程信息,包括:
22.确定电子设备中运行的且属于设定进程类型的至少一个进程;
23.基于所述至少一个进程之间的调用关系,构建进程关系结构信息,所述进程关系结构信息用于表示所述至少一个进程之间以及所述至少一个进程与所述电子设备中运行的各第二类型的应用程序之间的关系;
24.针对每个所述第二类型的应用程序,基于所述进程关系结构信息中各进程以及进程与应用程序之间的关系,确定所述第二类型的应用程序的可启动进程信息。
25.在又一种可能的实现方式中,在构建进程关系结构信息之后,还包括:
26.检测到电子设备中运行属于设定进程类型的第一进程,基于所述第一进程与所述电子设备中运行的其他进程之间的调用关系,更新所述进程关系结构信息;
27.基于更新后的进程关系结构信息中所述第一进程与其他进程之间的调用关系,确定所述第一进程所归属的应用程序,将所述第一进程的信息添加到所述第一进程归属的应用程序的可启动进程信息中;
28.检测到所述电子设备中属于设定进程类型的第二进程关闭后,删除所述进程关系结构信息中与所述第二进程相关的关系信息。
29.在又一种可能的实现方式中,所述确定所述应用程序关联的处于运行状态进程中的根进程,包括:
30.基于应用程序关联的处于运行状态的各进程的数字签名信息和调用关系,确定应用程序关联的处于运行状态的根进程;
31.或者,
32.基于应用程序关联的处于运行状态的进程对应的进程目录,确定所述应用程序关联的处于运行状态的进程中的根进程。
33.在又一种可能的实现方式中,从所述根进程下的子进程中确定能够实现窗口展现的目标进程,包括:
34.依次遍历所述根进程下的各个子进程,将第一个检测到的能够实现窗口展现的子进程确定为目标进程。
35.其中,一种进程展示装置,包括:
36.运行进程确定单元,用于确定电子设备上运行的各应用程序关联的处于运行状态的进程;
37.目标进程确定单元,用于从所述应用程序关联的处于运行状态的进程中,确定能够实现窗口展现的目标进程;
38.进程输出单元,用于输出所述目标进程的进程信息。
39.由以上可知,在本技术实施例中,会从应用程序中处于运行状态的进程中,确定能够实现窗口展现的目标进程。由于能够实现窗口展现的目标进程具有更易于用户辨识的特征,因此,通过展示这些目标进程更够实现更为合理的展现进程信息,也能够更有利于用户更为高效定位所需的应用程序下的进程。
附图说明
40.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1示出了本技术实施例提供的进程展示方法的一种流程示意图;
42.图2示出了本技术实施例提供的进程展示方法的又一种流程示意图;
43.图3示出了本技术实施例中展示出的进程信息的一种示意图;
44.图4示出了本技术实施例提供的确定应用程序的可启动进程信息的一种流程示意图;
45.图5示出了本技术实施例提供的进程关系树的一种示意图;
46.图6示出了本技术实施例提供的应用程序的子进程关系树的一种示意图;
47.图7示出了对图5中的进程关系树进行更新后,得到的进程关系树的示意图;
48.图8示出了对图6的子进程关系树进行更新后,得到的进程关系树的示意图;
49.图9示出了本技术实施例提供的进程展示方法的一种组成结构示意图;
50.图10示出了本技术实施例提供的电子设备的一种组成架构示意图。
具体实施方式
51.本技术实施例的方案能够在需要展示应用程序的进程信息时,更为合理的展示出电子设备中处于运行状态的进程的进程信息。
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.如图1所示,其示出了本技术实施例提供的进程展示方法的一种流程示意图,本实施例的方法可以应用于电子设备,该电子设备可以为手机、笔记本电脑或者其他计算机设备,对此不加限制。
54.本实施例的方法可以包括:
55.s101,确定电子设备上运行的各应用程序关联的处于运行状态的进程。
56.应用程序关联的处于运行状态的进程是指属于该应用程序,且目前正处于运行状态的进程。
57.可以理解的是,在确定出电子设备上处于运行状态的进程之后,可以分别确定各个进程所归属的应用程序,最终可以得到电子设备上运行的各应用程序对应的处于运行状
态的进程。
58.s102,针对每个应用程序,从该应用程序关联的处于运行状态的进程中,确定能够实现窗口展现的目标进程。
59.该目标进程属于应用程序对应的处于运行状态的进程。
60.其中,能够实现窗口展现的进程是指在运行过程中能够向显示单元输出显示窗口的进程。相应的,应用程序中能够实现窗口展现的进程可以为应用程序中用于呈现该应用程序的窗口或者显示界面的进程。
61.如,应用程序为即时通讯应用,那么应用程序中用于控制向显示单元中展现即时通讯应用窗口的进程就是能够实现窗口展现的进程。
62.其中,确定进程是否属于能够实现窗口展现的具体实现方式可以有多种,本技术对此如何确定进程是否具备显示窗口的功能的具体实现不加限制。
63.为了便于理解,以一种可能的实现方式进行说明,如,电子设备在确定出处于运行状态的进程之后,可以调用该进程的属性信息,如果该进程的属性信息中包括用于表示进程具备显示窗口的标识信息时,则可以确定该进程为能够展现窗口的进程。例如,进程的属性信息包含主窗口句柄等标识,表示该进程能够实现窗口展示。
64.s103,输出目标进程的进程信息。
65.目标进程的进程信息可以包括用于表征该目标进程的多种信息。
66.如,该目标进程的进程信息至少可以包括:目标进程的进程名称和进程图标。当然,该目标进程的进程信息还可以包括目标进程的开发商或者版本等,对此不加限制。
67.需要说明的是,在电子设备运行有多款应用程序的情况下,可以分别输出每款应用程序对应的目标进程的进程信息。
68.在本技术中,输出目标进程的进程信息的方式也可以有多种可能。如,在一种可能的实现方式中,可以输出进程列表,该进程列表中显示出各目标进程的进程信息。当然,还可以有其他展示目标进程的进程信息的方式,本技术对此不加限制。
69.在本技术中,可以在满足进程信息展示条件的情况下,执行本实施例以上确定目标进程并最终输出目标进程的进程信息。
70.可以理解的是,在实际应用中,需要展现电子设备中应用程序下运行的进程的信息的情况可以有多种,而需要展示进程信息的情况不同时,进程信息展示条件也会有所不同。
71.如,在一种可能的情况中,电子设备上运行有性能优化应用,那么用户希望查看需要关闭或者优化的进程时,就可以点击优化选项,以向性能优化应用输入优化指令,那么性能优化应用检测到优化指令,则确定满足进程信息展示条件,通过本技术实施例的方法确定目标进程并展示出目标进程的信息,以便用户选择需要关闭的进程等。
72.又如,在又一种可能的情况中,如果用户需要查看下电子设备当前运行的进程的情况,那么用户可以向电子设备输入相应的指令。在此基础上,电子设备确定满足进程信息展示条件,通过本技术实施例的方式确定出目标进程的信息并展示。
73.当然,以上是以几种需要展示进程信息的情况为例说明,在实际应用中,还可能会有其他需要展示进程信息的情况,本技术对此不加限制。
74.可以理解的是,能够实现窗口展现的进程的进程信息包含了能够直观表征该进程
归属的应用程序的特征信息,因此,通过展现能够实现窗口展现的进程的进程信息,有利于用户根据进程信息直观且高效确定进程归属应用程序以及进程归属的应用程序为哪款应用程序等。
75.如,能够实现窗口展现的进程的进程图标往往是进程展现的窗口的形态或者名称具有关联性,因此,用户通过该进程的进程图标可以直观辨别出该进程为哪款应用程序下的进程,也就可以较为高效确定出哪些应用程序下的进程处于运行状态等。
76.例如,仍以即时通讯应用为例,在展现即时通讯应用的通讯窗口之后,即使将通讯窗口最小化,那么即时通讯应用中实现该通讯窗口展示的目标进程也处于运行状态,而在展示出该目标进程的进程图标后,由于进程图标与通讯窗口为同种颜色且形态相似的图标,用户也可以辨识出该进程为即时通讯应用的进程。
77.可以理解的是,与全部显示出电子设备上运行的进程的进程信息相比,本技术仅仅选取应用程序中能够实现窗口展现的进程进行展示,既可以减少进程信息的显示数量;又可以借助能够实现窗口展现的进程的信息更为高效定位到所需进程或者是基于运行的进程状态判断应用程序是否开启等。
78.由以上内容可知,本技术在需要展示进程信息时,会从应用程序中处于运行状态的进程中,确定能够实现窗口展现的目标进程。由于能够实现窗口展现的目标进程具有更易于用户辨识的特征,因此,通过展示这些目标进程更够实现更为合理的展现进程信息,也能够更有利于用户更为高效定位所需的应用程序下的进程。
79.可以理解的是,对于电子设备上运行的任意一款应用程序而言,该应用程序中能够实现窗口展现的进程可能会有多个,如,一款应用程序中可能会涉及到多种不同状态下的显示界面,而不同显示界面有可能会由不同进程来实现。
80.在该种情况下,为了简化显示出的进程信息,且能够更为合理地显示的进程信息,在应用程序的根进程能够实现窗口展现的情况下,本技术可以优先选择根进程作为该应用程序的目标进程。在应用程序的根进程不属于能够实现窗口展现的进程的情况下,再从根进程下的子进程中确定能够实现窗口展现的目标进程。
81.下面结合一种实现进行详细介绍。如图2所示,其示出了本技术实施例提供的一种进程展示方法的又一种流程示意图,本实施例的方法可以应用于前面提到的电子设备。
82.本实施例的方法可以包括:
83.s201,确定电子设备上运行的各应用程序关联的处于运行状态的进程。
84.如,可以在检测到进程展示请求等满足进程展示条件的情况下,执行该步骤s201。
85.s202,针对电子设备上运行的每个应用程序,确定该应用程序关联的处于运行状态进程中的根进程。
86.应用程序的根进程是应用程序中处于运行状态的所有进程的父进程。如,一般应用程序的根进程是当前运行的所有进程中第一个启动且逐层调起应用程序的其他进程的一个进程。
87.可以理解的是,确定应用程序关联的根进程的方式可以有多种。
88.在一种可能的实现方式中,基于应用程序关联的处于运行状态的各进程的数字签名信息和调用关系,可以确定应用程序关联的处于运行状态的根进程。
89.其中,进程的数字签名信息也称为进程的电子签名可以表征进程所归属的应用程
序,同一应用程序下的进程的数字签名信息相同。
90.基于此,本技术可以依次遍历电子设备中运行的进程,根据不同进程之间的调用关系和数字签名信息,确定出同一个应用程序下的各进程及各进程的调用关系,并最终基于应用程序下各进程的调用关系,确定出应用程序的根进程。
91.例如,依次逐层向上遍历各进程的父进程,如果某个进程的父进程的数字签名信息与该进程的数字签名信息不同,那么则说明该进程的父进程是操作系统等调用起来的,用于调起该进程的系统进程,因此,该进程没有与该进程同属于一个应用程序的父进程,该进程就可以确定为该应用程序的根进程。
92.在又一种可能的实现方式中,可以基于应用程序关联的处于运行状态的各进程的进程目录,确定该应用程序关联的处于运行状态的进程中的根进程。
93.可以理解的是,进程目录可以包含进程之间的父子关系等调用关系,因此,在确定出应用程序中处于运行状态的各进程之后,结合该进程目标可以直接确定出应用程序当前处于运行状态的根进程。
94.在实际应用中,还可以有其他方式确定应用程序的根进程,对此不加限制。
95.当然,如果在确定应用程序关联的处于运行状态的各进程时,已经确定出应用程序中运行的各进程之间的调用关系,那么则可以直接结合应用程序中各进程的调用关系,确定该应用程序的根进程。
96.s203,查询该根进程是否属于能够实现窗口展现的进程,如果否,则执行步骤s204;如果是,执行步骤s206。
97.其中,查询根进程是否能够实现窗口展现与前面查询进程是否能够实现窗口展现的方式相似,对此不再赘述。
98.s204,依次遍历该根进程下的各子进程,查询根进程下是否存在能够实现窗口展现的进程,如果是,执行步骤s205;如果否,执行步骤s206。
99.可以理解的是,应用程序中根进程下的子进程是指该应用程序中处于运行状态且属于该根进程的子进程的进程,因此,根进程下的子进程也就是根进程下处于运行状态的进程。
100.其中,遍历根进程下的子进程可以按照根进程下各子进程的调用关系,逐层判断各个子进程是否为能够实现窗口展现的进程。
101.s205,从根进程的子进程中确定能够实现窗口展现的目标进程。
102.其中,目标进程属于该根进程下的子进程。
103.可以理解的是,步骤s204和s205为确定根进程下能够实现窗口展现的目标进程的一种实现方式,通过其他方式确定根进程下能够实现窗口展现的目标进程也同样适用于本实施例。
104.其中,根进程中能够实现窗口展现的子进程可能会存在多个,在该种情况下,可以随机选择一个能够实现窗口展现的子进程为目标进程。
105.在一种可选方式中,为了减少数据处理量,并考虑到启动顺序靠前或者是调用其他子进程较多的子进程更为重要,本技术可以在依次遍历根进程下的各个子进程的过程中,将第一个检测到的能够实现窗口展现的子进程确定为目标进程。
106.s206,将根进程确定为该应用程序中待展示的目标进程。
107.可以理解的是,如果根进程是能够实现窗口展现的进程,那么就可以直接将根进程确定为待展示的目标进程,以减少确定目标进程所需耗费的数据处理量以及查询进程与处理进程数据所需的耗时。
108.进一步的,如果应用程序关联的处于运行状态的进程中不存在能够实现窗口展现的进程,那么由于根进程为应用程序中最具代表性的进程,因此,在该种情况下,也可以将应用程序的根进程确定为应用程序中待展示的目标进程。
109.可以理解的是,在本技术中对于任意一个应用程序均可以执行如上s201到s206的操作,以最终确定出电子设备上运行的每个应用程序中需要展示的目标进程。
110.s207,输出各目标进程的进程信息。
111.如,可以输出进程列表,进程列表中可以包括各应用程序对应的目标进程的进程信息。目标进程的进程信息至少包括目标进程的进程名称和进程图标。
112.举例说明:
113.如图3所示的进程列表中,显示有两个目标进程的信息,每个目标进程都具有进程名称以及进程的图标。如图3进程列表中包含名称为“进程1.exe”的一个进程,该进程的进程图标是一个圆形,且圆形的中间显示有一些线条。而另一进程的进程名称为“进程2.exe”,该进程的进程图标为一个三角形。
114.其中,进程的进程图标是与进程所归属的应用程序的窗口界面或者应用程序的特征具有关联性的,如,应用程序为一个即时通讯应用,那么能够显示即时通讯窗口的进程的进程图标与即时通讯应用的图标是相似的,使得用户能够直观感知该进程为即时通讯应用下的进程。
115.相应的,由图3可以看出,如果单纯查看进程的进程名称,那么用户对进程了解较少的情况下,无法确定这个进程是哪个程序下的进程,而通过观看图标则可以更为直观体现出进程的不同,以及进程所归属的程序等。
116.当然,输出该目标进程的进程信息的方式可以有多种可能,具体可以参见前面相关介绍,在此不再赘述。
117.可以理解的是,虽然只显示各应用程序的根进程的进程信息,也可以减少显示出的进程信息的数量,但是,由于进程名称具有不易读的特性,而并非所有根进程都能够直观体现出根进程所属的应用程序(如有些根进程的图标可能是一些设定的默认图标等),从而使得用户无法直观且快速区分各个根进程并辨识出根进程所归属的应用程序。
118.由以上可知,针对电子设备运行的每个应用程序,如果判断出应用程序的根进程为能够展现窗口的进程,则会直接将根进程确定为该应用程序需要展示的目标进程,而无需再去查询其他进程的属性数据等。只有在根进程不属于能够展现窗口的进程的情况下,才会查询根进程下是否存在能够展现窗口的子进程,并将根进程下能够展现窗口的子进程确定为需要展示的目标进程。同时,根进程下不存在能够展现窗口的子进程时,也会将根进程作为待展示的目标进程。
119.在此基础上,通过本实施例的方式可以在选择能够展现窗口的进程作为待展示的目标进程的前提下,能够实现优先选择根进程作为需要展示的进程,从而既可以减少由于展示出的进程信息的不易读性,而使得用户无法直观定位到所需进程的情况,又可以优选选择相对其他进程与应用程序的特征更接近,即更具代表性的根进程进行展示,从而实现
了更为合理的展示进程信息。
120.由前面的内容介绍可知,为了能够展示进程信息,在满足进程信息展示条件的情况下,需要确定出电子设备上运行的各应用程序关联的处于运行状态的进程。
121.但是电子设备中同一时刻可能运行有大量的进程,因此,如果在需要展示进程信息时,再基于进程的信息来确定哪些进程属于哪些应用程序,必然会耗费较多时间。基于此,为了能够更为高效地确定出哪些信息归属于哪些应用程序,本技术还可以预先对各应用程序的进程进行归类。对应用程序的进程进行归类也就是确定出应用程序下能够启动并运行的进程有哪些。
122.具体的,本技术可以缓存各应用程序的可启动进程信息。应用程序的可启动进程信息包括该应用程序能够启动的进程的信息,如,应用程序能够启动的进程的进程名称等。
123.相应的,本技术在需要确定电子设备中运行的各应用程序关联的且处于运行状态的进程时,可以获得缓存的各应用程序的可启动进程信息,基于各应用程序的可启动进程信息,确定电子设备中处于运行状态的各进程所归属的应用程序,从而可以得到电子设备中运行的各应用程序关联的且处于运行状态的进程。
124.其中,为了确定电子设备中各应用程序的可启动进程信息,可以扫描电子设备处于运行状态的所有进程,然后分别确定出各个进程归属的应用程序,最终确定出各应用程序的可启动进程信息。但是,在电子设备中运行的进程发生变化后,进程之间的调用关系也会存在改变,就需要重新确定应用程序的可启动进程信息,而再次确定应用程序的开启动进程信息就需要又重新扫描电子设备上运行的所有进程,导致耗时较长。
125.为了减少确定应用程序的可启动进程信息所需的耗时,降低确定应用程序的可启动进程信息的复杂度,本技术还可以结合电子设备中应用程序的类型以及不同类型应用程序的特征,合理确定应用程序的可启动进程信息。
126.具体的,电子设备上的应用程序可以分为两类,分别为第一类型的应用程序和第二类型的应用程序。
127.其中,第一类型的应用程序为配置有配置文件的应用程序。该类应用程序中所能启动的进程之间的结构关系比较固定。在该应用程序的配置文件可以包含该应用程序关联的各可执行文件的信息。如,应用程序的配置文件中可以包含各可执行文件的名称,当然,还可以包括:各可执行文件的生成时间以及开发者等信息,对此不加限制。
128.例如,对于windows操作系统而言,第一类型的应用程序可以为基于通用应用平台(universal windows platform,windows通,uwp)开发的应用程序。而对于uwp类型的应用程序中都有一个称为appxmanifest.xml的配置文件,读取该配置文件可以得到应用程序中关联的所有可执行文件的信息。
129.可以理解的是,应用程序关联的每个可执行文件对应的就是该应用程序能够启动的一个进程,通过执行应用程序的可执行文件便可以实现运行一个进程。
130.在此基础上,针对电子设备中每个第一类型的应用程序,可以从该第一类型的应用程序的配置文件中,获得该第一类型的应用程序的各可执行文件的信息,将该第一类型的应用程序的各可执行文件对应的进程的信息缓存为该第一类型的应用程序的可启动进程信息。
131.如,可执行文件的名称可以作为该可执行文件运行后启动的进程的进程名称,在
此基础上,将可执行文件对应进程的名称存储到第一类型的应用程序的可启动进程信息中,就可以确定出该应用程序能够启动的各个进程。
132.其中,第二类型的应用程序是指第一类型之外的应用程序,该第二类型的应用程序不同时刻运行的各进程之间的进程结构会发生变化,而且应用程序未配置有存储可执行文件的信息的配置文件,自然无法基于配置文件直接确定应用程序包含的所有可执行文件的信息。
133.对于第二类型的应用程序,本技术可以基于电子设备中运行的属于设定进程类型的各进程之间的调用关系,确定各第二类型的应用程序的可启动进程信息,然后,缓存所述第二类型的应用程序的可启动进程信息。
134.其中,设定进程类型为第二类型的应用程序关联的进程对应的类型。在实际应用中,可以通过查询进程的属性等信息确定进程是否属于设定进程类型的进程。
135.例如,仍以windows操作系统下的软件为例,在第一类型的应用程序为基于uwp的应用程序的情况下,第二类型的应用程序可以为基于win32的应用程序。在第二类型的应用程序为win32的应用程序,那么设定进程类型为基于win32的进程。
136.当然,对于其他类型的操作系统而言,第一类型和第二类型的应用程序还可以有其他可能,对此不加限制。
137.可以理解的是,在电子设备确定出运行中且属于设定进程类型的应用程序之后,结合各进程之间的调用关系可以确定出属于同一个应用程序的各个进程以及每个应用程序关联的进程,在此基础上,可以将应用程序关联的进程的信息存储到应用程序的开启动进程信息中。
138.由以上内容可知,本技术针对第一类型和第二类型的应用程序各自的特征,对于进程之间调用结构固定的第一类型的应用程序,本技术可以直接基于第一类型的应用程序的配置文件确定应用程序的可启动进程,从而无需对第一类型的应用程序下的进程进行扫描,可以所需处理和分析的进程的进程数据,自然也就可以减少确定应用程序能够启动的进程的进程信息所需处理的数据量。
139.而对于第二类型的应用程序,由于本技术可以结合运行中的设定进程类型的进程之间的调用关系,确定出该类应用程序的可启动进程信息,而应用程序的可启动进程信息是应用程序能够启动的进程的信息,因此,即使电子设备中运行的进程发生变化,应用程序的可启动进程信息中能够启动的进程的数量是不会减少的。
140.只不过在电子设备中新增设定进程类型的进程运行时,可能需要进一步判断新运行的进程是否属于第二类型的应用程序,如果是,向相应的第二类型的应用程序的可启动进程信息中添加相应的进程的信息即可。
141.在一种可能的实现方式中,为了能够每次电子设备中进程发生变化后,全部扫描设定进程类型的进程,本技术还可以维护设定进程类型的进程对应的进程关系结构信息,该进程关系结构信息用于表示各设定进程类型的进程之间以及这些进程与电子设备中运行的各第二类型的应用程序之间的关系。
142.该进程关系可以随着电子设备中新增或者减少设定进程类型的进程的运行而变化,更新进程关系结构信息中新增或者减少的进程的相应关系信息即可,却无需每次全部重新构建进程关系结构信息,从而可以减少扫描进程所需耗费的数据量。
143.而且,在该进程关系结构信息发生变化后,本技术仅仅基于进程关系结构信息中新增的设定进程类型的进程的关系,向新增的进程归属的应用程序的可启动进程信息中添加该进程的信息即可。
144.下面结合确定应用程序的可启动进程信息的一种可能的实现方式,对本技术实施例确定应用程序的可启动进程信息的方式进行说明。如图4,其示出了本技术实施例中确定应用程序的可启动进程信息的一种流程示意图,本实施例的方法可以包括:
145.s401,确定电子设备中应用程序的类型。
146.如,在电子设备中能够提供进程展示的性能优化应用或者其他进程展示应用启动后,该应用可以先针对电子设备可以确定电子设备上各应用程序的类型。在此基础上,针对第一类型的应用程序可以执行步骤s402和s403;而对于第二类型的应用程序可以执行步骤s404到s409。
147.s402,对于第一类型的应用程序,从该第一类型的应用程序的配置文件中,获得该应用程序的各可执行文件的信息。
148.s403,将该第一类型的应用程序的各可执行文件对应的进程的信息缓存为该第一类型的应用程序的可启动进程信息。
149.其中,对于每个第一类型的应用程序,该应用程序的可启动进程信息中包括:该应用程序能够启动的各进程的进程信息。
150.以上步骤s402到s403可以参见前面实施例的相关介绍,在此不再赘述。
151.s404,对于各第二类型的应用程序,确定电子设备中运行的且属于设定进程类型的至少一个进程。
152.如,可以通过进程的属性信息查询出进程是否属于第二类型的应用程序对应的设定进程类型的进程。
153.s405,基于至少一个进程之间的调用关系,构建进程关系结构信息。
154.该进程关系结构信息用于表示属于设定进程类型的该至少一个进程之间以及至少一个进程与电子设备中运行的各第二类型的应用程序之间的关系。
155.可以理解的是,电子设备通过扫描各个设定进程类型的进程之间的关系,可以得到表征进程之间以及进程与程序之间关系的信息,对于具体实现方式不加限制。
156.其中,进程关系结构信息的具体形式也可以有多种可能。
157.如,在一种可能的实现方式中,该进程关系结构信息可以为进程关系树,进程关系树为通过树形结构来表示进程之间以及进程与程序之间的关系树。
158.如图5,其示出了本技术进程关系树的一种结构关系图。
159.由图5可以看出,在进程关系树中包含应用程序1下各个进程及其子进程的调用关系,以及应用程序2下各个进程以及子进程之间的关系。例如,应用程序1包含有进程10,进程10为应用程序的根进程,而进程10的子进程包括进程11和进程12,而进程11又具有子进程13。
160.以上是以进程关系结构信息为进程关系树为例说明,在实际应用中,该进程关系结构信息还可以是通过表格形式记录应用程序下运行的各进程的进程信息等,对于进程关系结构信息为其他形式的情况也同样适用于本实施例,对此不加限制。
161.s406,针对每个第二类型的应用程序,基于进程关系结构信息中各进程以及进程
与应用程序之间的关系,确定第二类型的应用程序的可启动进程信息。
162.其中,第二类型的应用的可启动进程信息中同样可以包括该应用程序能够启动的各第二进程的信息。
163.可以理解的是,进程关系结构信息中与一个应用程序关联的所有进程都属于该进程能够启动的进程,因此,结合进程关系结构信息可以提取出各个第二类型的应用程序所能够启动的进程的进程信息。
164.如,在一个可能的实现方式中,如果进程关系结构信息为进程关系树,那么从进程关系树中提取出每个应用程序对应的子进程关系树。相应的,可以将应用程序的子进程关系树中包含的进程的信息确定为应用程序能够启动的进程的进程信息。
165.如前面图5所示,对于应用程序1和应用程序2可以提取出:包含应用程序1中各进程之间关系的关系树分支,以及,包含应用程序2中各进程之间关系的关系树分支。
166.在此基础上,可以将应用程序1中对应的关系树分支中各进程确定出该应用程序的进程树中各分支。如图6所示,应用程序1的进程树中包括了应用程序1启动的各个进程的分支树。
167.相应的,应用程序1的进程树包含的各个进程就是该应用程序1中能够启动的进程的进程信息。
168.s407,检测到电子设备中运行属于设定进程类型的第一进程,基于第一进程与电子设备中运行的其他进程之间的调用关系,更新进程关系结构信息。
169.可以理解的是,电子设备上运行进程是会不断发生变化的,因此,在构建出进程关系结构信息时,只是基于那一时刻已运行的进程,确定第二类型的应用程序能够启动的部分进程的信息,因此,应用程序的可启动进程信息中可能只有该应用程序能够启动的部分进程的信息。
170.基于此,为了能够不断补充和完善应用程序能够启动的进程的信息,使得结合各第二类型的应用程序的可启动进程信息,至少能够反映出电子设备运行中的设定进程类型的进程所归属的应用程序,还需要关注电子设备上是否存在新运行的且属于设定进程类型的进程,并更新应用程序的可启动进程信息。
171.为了便于区分,本技术将构建了进程关系结构信息之后,电子设备上运行的属于设定进程类型的进程称为第一进程。
172.由于第一进程是最新运行的进程,因此,该进程关系结构信息中并未包含该第一进程及其相关的调用关系,基于此,本技术可以结合第一进程及调用该第一进程的相关设定进程类型的进程之间的关系,更新该进程关系结构信息。
173.需要说明的是,最近启动的第一进程可以有多个,但是对于每个第一进程更新进程关系结构信息以及后续添加相应的可启动进程信息中的操作类似。
174.s408,基于更新后的进程关系结构信息中第一进程与其他进程之间的调用关系,确定第一进程所归属的应用程序,将第一进程的信息添加到第一进程归属的应用程序的可启动进程信息中。
175.可以理解的是,基于更新后的进程关系结构信息中包含了第一进程与其他进程之间的调用关系,因此,结合该进程关系结构信息确定出该第一进程归属的应用程序,相应的,该第一进程自然属于该第一进程归属的应用程序能够启动的进程。
176.在一种可能的实现方式中,进程关系结构信息为进程关系树,且基于应用程序的子进程关系树确定应用的可启动进程信息的情况下,在得到更新后的进程关系树之后,还可以基于更新后的进程关系树,更新各应用程序的子进程关系树。
177.在此基础上,如果应用程序的子进程关系树存在更新,那么可以依据应用程序对应的更新后的子进程关系树,更新应用程序的可启动进程信息,以将新增的第一进程添加到该应用程序的可启动进程信息中。
178.如,仍以图5和图6所示,假设在图5的基础上,应用程序1的进程12又调用并启动了一个进程。那么更新后的进程关系树可以如图7所示。由图7可以看出,更新后的进程关系树中进程12上又引出了一个进程14。在该种情况下,应用程序1的子进程关系树也会相应更新,更新后的子进程关系树如图8所示。
179.在此基础上,结合图6和图8可以看出,该应用程序1中能够启动的进程多了一个进程14,从而使得更新后的应用程序的可启动进程信息中新增了进程14的信息。
180.s409,检测到电子设备中属于设定进程类型的第二进程关闭后,删除进程关系结构信息中与第二进程相关的关系信息。
181.为了便于区分,将在构建出进程关系结构信息之后,电子设备中关闭的属于设定进程类型的进程称为第二进程。
182.可以理解的是,该进程关系结构信息中反映出的是正在运行的各设定进程类型的进程之间的关系,因此,第二进程关闭后,需要更新该进程关系结构信息,以使得进程关系结构信息能够反映当前电子设备中运行中的各设定进程类型的进程之间的关系。
183.但是,第二类型的应用程序的可启动进程中关注的是应用程序中能够启动的进程,而不是当前运行的进程,因此,在第二进程关闭后,能够确定的应用程序的可启动进程信息并没有变化,因此,无需更新应用程序的可启动进程信息。
184.由以上内容可知,本实施例对于第二类型的应用程序,根据电子设备中运行的设定进程类型的进程,构建各第二类型的应用程序对应的进程关系结构信息,基于进程关系结构信息可以反映出电子设备中各应用程序能够启动的各进程的进程信息。
185.而且,在电子设备新增运行了属于设定进程类型的第一进程之后,本技术只需要在进程关系结构信息中新增该第一进程相关的关系信息,便可以结合更新后的进程关系结构信息,确定第一进程归属的应用程序,并更新该应用程序的可启动进程信息,而无需重新扫描所有的设定进程类型的进程信息,减少了数据处理量,也有利于降低扫描进程所需耗费的时间。
186.可以理解的是,在本技术预先确定出应用程序的可启动进程信息并缓存后,在满足进程信息展示条件时,便可以基于已启动的进程以及各应用程序的可启动进程信息,确定出电子设备中运行的应用程序关联的处于运行状态的进程,而无需再实时扫描所有进程来确定进程归属的应用程序,从而可以更为高效的实现进程信息展示。
187.对应本技术的一种进程展示方法,本技术还提供了一种进程展示装置。
188.如图9所示,其示出了本技术实施例提供的进程展示装置的一种组成结构示意图。本实施例的装置可以包括:
189.运行进程确定单元901,用于确定电子设备上运行的各应用程序关联的处于运行状态的进程;
190.目标进程确定单元902,用于从所述应用程序关联的处于运行状态的进程中,确定能够实现窗口展现的目标进程;
191.进程输出单元903,用于输出所述目标进程的进程信息。
192.在一种可能的实现方式中,目标进程确定单元包括:
193.根进程确定单元,用于确定所述应用程序关联的处于运行状态进程中的根进程;
194.第一目标确定单元,用于如果所述根进程属于能够实现窗口展现的进程,将所述根进程确定为所述应用程序中待展示的目标进程;
195.第二目标确定单元,用于如果所述根进程不属于能够实现窗口展现的进程,从所述根进程下的子进程中确定能够实现窗口展现的目标进程。
196.在又一种可能的实现方式中,该目标进程确定单元,还包括:
197.第三目标确定单元,用于如果所述应用程序关联的处于运行状态的进程中不存在能够实现窗口展现的进程,将所述应用程序的根进程确定为所述应用程序中待展示的目标进程。
198.在又一种可能的实现方式中,运行进程确定单元,包括:
199.缓存获得子单元,用于获得缓存的各应用程序的可启动进程信息,所述可启动进程信息包括所述应用程序能够启动的进程的信息;
200.运行确定子单元,用于基于各应用程序的可启动进程信息,确定电子设备中处于运行状态的各进程所归属的应用程序,得到电子设备中运行的各应用程序关联的且处于运行状态的进程。
201.在又一种可能的实现方式中,还包括:
202.第一信息缓存单元,用于在缓存获得子单元获得缓存的各应用程序的可启动进程信息之前,从电子设备中第一类型的应用程序的配置文件中,获得所述第一类型的应用程序的各可执行文件的信息,将所述第一类型的应用程序的各可执行文件对应的进程的信息缓存为所述第一类型的应用程序的可启动进程信息;
203.第二信息缓存单元,用于基于所述电子设备中运行的属于设定进程类型的各进程之间的调用关系,确定各第二类型的应用程序的可启动进程信息,缓存所述第二类型的应用程序的可启动进程信息,所述设定进程类型为第二类型的应用程序关联的进程对应的类型。
204.在又一种可能的实现方式中,第一信息缓存单元,包括:
205.设定进程确定单元,用于确定电子设备中运行的且属于设定进程类型的至少一个进程;
206.关系构建单元,用于基于所述至少一个进程之间的调用关系,构建进程关系结构信息,所述进程关系结构信息用于表示所述至少一个进程之间以及所述至少一个进程与所述电子设备中运行的各第二类型的应用程序之间的关系;
207.可启动确定单元,用于针对每个所述第二类型的应用程序,基于所述进程关系结构信息中各进程以及进程与应用程序之间的关系,确定所述第二类型的应用程序的可启动进程信息。
208.在又一种可能的实现方式中,该装置还包括:
209.第一关系更新单元,用于在关系构建单元构建进程关系结构信息之后,检测到电
子设备中运行属于设定进程类型的第一进程,基于所述第一进程与所述电子设备中运行的其他进程之间的调用关系,更新所述进程关系结构信息;
210.进程添加单元,用于基于更新后的进程关系结构信息中所述第一进程与其他进程之间的调用关系,确定所述第一进程所归属的应用程序,将所述第一进程的信息添加到所述第一进程归属的应用程序的可启动进程信息中;
211.第二关系更新单元,用于检测到所述电子设备中属于设定进程类型的第二进程关闭后,删除所述进程关系结构信息中与所述第二进程相关的关系信息。
212.在又一种可能的实现方式中,根进程确定单元,包括:
213.第一根进程确定单元,用于基于应用程序关联的处于运行状态的各进程的数字签名信息和调用关系,确定应用程序关联的处于运行状态的根进程;
214.或者,
215.第二根进程确定单元,用于基于应用程序关联的处于运行状态的进程对应的进程目录,确定所述应用程序关联的处于运行状态的进程中的根进程。
216.在又一种可能的实现方式中,第二目标确定单元,包括:
217.遍历确定单元,用于如果所述根进程不属于能够实现窗口展现的进程,依次遍历所述根进程下的各个子进程,将第一个检测到的能够实现窗口展现的子进程确定为目标进程。
218.又一方面,本技术还提供了一种电子设备,如图10所示,其示出了该电子设备的一种组成结构示意图,该电子设备可以为任意类型的电子设备,该电子设备至少包括处理器1001和存储器1002;
219.其中,处理器1001用于执行如上任意一个实施例中的进程展示方法。
220.该存储器1002用于存储处理器执行操作所需的程序。
221.可以理解的是,该电子设备还可以包括显示单元1003以及输入单元1004。
222.当然,该电子设备还可以具有比图10更多或者更少的部件,对此不加限制。
223.另一方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的进程展示方法。
224.本技术还提出了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机程序在电子设备上运行时,用于执行如上任意一个实施例中的进程展示方法。
225.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本技术。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
226.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
227.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
228.以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献