软件的残留进程处理方法及装置与流程

文档序号:11917667阅读:803来源:国知局
软件的残留进程处理方法及装置与流程

本公开涉及计算机应用技术领域,特别涉及一种软件的残留进程处理软件的方法及装置。



背景技术:

随着计算机应用技术的高速发展,计算机设备诸如智能手机等便携移动终端以及电脑,都通过运行各种软件来实现所需要的功能。当需要在计算机设备中实现某一功能时,可运行相应的软件。在该软件的运行中,通过执行一个或多个进程实现其相应的功能。当不再需要使用该软件,对该软件执行关闭操作时该软件对应的进程也就会随之结束运行。

然而,执行关闭该软件的操作后,该软件在计算机设备中存在进程残留的情况,即对该软件触发了关闭操作后,该软件对应的进程并没有全部结束运行,该软件对应的多个进程中仍有部分进程在运行,这些进程即为软件在计算机设备中的残留进程。

并且对于某些软件,其对应的某些进程具有自启动的功能,即便并未运行该软件,这些进程仍然会在后台运行,以便在选择运行该软件时能够迅速响应。

由此可知,计算机设备中常常存在着软件的残留进程。此类进程占用计算机设备的内存和网络等核心资源,并且产生大量垃圾文件,从而占用系统资源。

因此,需要在此计算机设备中结束所存在残留进程。现有的残留进程处理方式实质为手动处理的方式。例如,通过计算机设备的任务管理器来结束所存在的残留进程。具体而言,在任务管理器中识别出存在的残留进程,进而结束此进程即可。但是,对于用户而言,入门门槛高,操纵繁琐且容易遗漏。



技术实现要素:

为了解决相关技术中结束残留进程所存在的操作繁琐且效率较低下的技术问题,本公开提供了一种软件的残留进程处理方法及装置。

一种软件的残留进程处理方法,其特征在于,包括:

对运行的所有进程进行软件分类得到所述进程归属的软件列表;

根据软件使用特征在所述软件列表中确定未使用状态软件;

从运行的所有进程中得到归属于所述未使用状态软件的进程,将所述进程标记为所述未使用状态软件的残留进程;

结束所述未使用状态软件的残留进程。

一种软件的残留进程处理装置,其特征在于,所述装置包括:

进程分类模块,用于对运行的所有进程进行软件分类得到所述进程归属的软件列表;

未使用软件获取模块,用于根据软件使用特征在所述软件列表中确定未使用状态软件;

残留进程获取模块,用于从运行的所有进程中得到归属于所述未使用状态软件的进程,将所述进程标记为所述未使用状态软件的残留进程;

残留进程结束模块,用于结束所述未使用状态软件的残留进程。

本公开的实施例提供的技术方案可以包括以下有益效果:

在对软件的进程进行处理时,通过对运行的所有进程进行软件分类得到进程归属的软件列表,根据软件使用特征在软件列表中确定未使用状态软件,从运行的所有进程中得到归属于未使用状态软件的进程,将进程标记为未使用状态软件的残留进程,结束未使用状态软件的残留进程。根据软件使用特征,在运行进程归属的软件列表中确定未使用状态软件,智能识别出残留进程,并结束残留进程的运行,操作简便,提高了对残留进程的处理效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种实施环境中计算机设备的示意图;

图2是根据一示例性实施例示出的一种软件的残留进程处理方法流程图;

图3是图2对应实施例的根据软件使用特征在软件列表中确定未使用状态软件步骤的流程图;

图4是图3对应实施例的针对软件列表中的每一软件,进行软件的所有软件使用特征存在性判断步骤的流程图;

图5是图4对应实施例的针对软件列表中的每一软件,判断软件在屏幕的显示区域是否存在可视化窗口步骤的流程图;

图6是图3对应实施例的针对软件列表中的每一软件,进行软件的所有软件使用特征存在性判断步骤的流程图;

图7是图3对应实施例的针对软件列表中的每一软件,进行软件的所有软件使用特征存在性判断步骤的流程图;

图8是根据一示例性实施例示出的一种软件的残留进程处理的具体应用场景示意图;

图9是根据一示例性实施例示出的一种软件的残留进程处理装置的框图;

图10是图9对应实施例示出的未使用软件获取模块的框图;

图11是图10对应实施例示出的判断子模块的框图;

图12是图10对应实施例示出的判断子模块的框图;

图13是图11对应实施例示出的可视化窗口判断单元的框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在一个实施例中,本公开涉及的实施环境包括:计算机设备和装设在计算机设备上的进程处理模组。其中,计算机设备具有独立操作系统,独立运行空间,可以安装软件以及第三方服务商提供的软件。进程处理模组是能够对软件的残留进程进行处理的硬件模块。

图1是根据一示例性实施例示出的一种装置100的框图。装置100可以应用于上述实施环境中的计算机设备。

参考图1,装置100可以包括以下一个或者多个组件:处理组件101,存储器102,电源组件103,多媒体组件104,音频组件105,传感器组件107以及通信组件108。

处理组件101通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件101可以包括一个或多个处理器109来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件101可以包括一个或多个模块,便于处理组件101和其他组件之间的交互。例如,处理组件101可以包括多媒体模块,以方便多媒体组件104和处理组件101之间的交互。

存储器102被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储器102中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器109执行,以完成图2、图3、图4、图5、图6、图7和图8任一所示方法中的全部或者部分步骤。

电源组件103为装置100的各种组件提供电力。电源组件103可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。

多媒体组件104包括在所述装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

音频组件105被配置为输出和/或输入音频信号。例如,音频组件105包括一个麦克风(MIC),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或经由通信组件108发送。在一些实施例中,音频组件105还包括一个扬声器,用于输出音频信号。

传感器组件107包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件107可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件107还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件107还可以包括磁传感器,压力传感器或温度传感器。

通信组件108被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件108经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件108还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。

图2是根据一示例性实施例示出的一种软件的残留进程处理方法流程图。该软件的残留进程处理方法用于上述所示实施环境的计算机设备中。如图2所示,该软件的残留进程处理方法可以包括以下步骤。

在步骤S110中,对运行的所有进程进行软件分类得到进程归属的软件列表。

进程是计算机设备中的软件关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。

软件是按照特定顺序组织的计算机数据和指令的集合。每个软件均有一个或多个进程,软件通过进程而实现其功能。例如,浏览器在运行过程中,通过浏览器进程在计算机设备屏幕上显示网页、图像等网络信息。

对运行的所有进程进行软件分类是对指按照软件对运行的所有进程进行分类。运行的所有进程中,可能是一个进程分类归属于一个软件,也可能是多个进程分类归属于一个软件。通过对运行的所有进程进行软件分类得到的软件列表中,包含所有存在运行进程的软件。

计算机设备配置有进程管理模块,进程管理模块用于对各运行的进程进行软件分类。运行的计算机设备中通过配置的进程管理模块监控正在运行的进程,获取运行的进程自身的信息,通过进程自身的信息对运行的进程进行软件分类,得到运行的进程归属的软件列表。

在一个示例性实施例的具体实现中,计算机设备中进程管理模块通过NtQuerySystemInformation函数枚举系统正在运行的进程,通过各个运行进程自身的信息,判断各个运行进程归属的软件。

还可以根据各软件的类别获取运行的每一个进程归属软件的软件类别,例如视频类软件、办公类软件等。

例如,视频软件A播放视频时,运行的进程有进程1、进程2,接收用户的关闭指令后,进程1结束,但进程2仍在运行,此时根据进程2的信息中的描述信息,得到进程2归属的软件为视频软件A,软件类别为视频类软件。

在步骤S120中,根据软件使用特征在软件列表中确定未使用状态软件。

软件使用特征是软件运行中实现该软件的功能时存在于计算机设备中的特征。例如,在利用浏览器浏览网页时,浏览器就会在计算机设备的屏幕上显示窗口,从而与用户进行信息交互,此时,浏览器在计算机设备的屏幕上显示窗口,即为浏览器处于使用状态时对应的软件使用特征。

计算机设备中运行进程均存在其归属的软件,但运行进程归属的软件列表中,并不一定是所有的软件均具备软件使用特征,也就是说,软件列表中的软件并非都是处于使用状态的软件,常常存在着已经执行关闭操作但仍然存在残留进程的软件,或者已未执行其功能实现过程但仍然运行的软件,等等。

为识别此类软件,预先指定软件使用特征,以在计算机设备中及时识别出此类软件。在一个示例性实施例中,预先指定的软件使用特征,包括但不限于:可视化窗口显示、托盘区域存在托盘图标和关联软件运行软件的行为等任意一种或者任意组合。

软件列表中包含所有存在运行进程的软件,通过软件使用特征对软件列表中的软件进行判断,当软件不具备所预先指定的软件使用特征时,该软件通常是后台运行且用户不再使用的软件,处于未使用状态,因此将该软件确定为未使用状态软件。例如,用户对软件执行关闭操作后,但该软件的所有进程并未全部结束而仍有部分进程在后台运行,此时该软件虽存在运行的进程,但处于未使用状态,将该软件确定为未使用状态软件。

在步骤S130中,从运行的所有进程中得到归属于未使用状态软件的进程,将进程标记为未使用状态软件的残留进程。

如前所述的,未使用状态软件是不具备软件使用特征但仍存在运行进程的软件,将未使用状态软件仍在运行的进程标记为残留进程。

在步骤S140中,结束未使用状态软件的残留进程。

通过前述步骤从运行的所有进程中确定残留进程后,结束所有残留进程的运行。在智能识别出计算机设备中所有的残留进程后,结束所有残留进程的运行,无需逐一对残留进程进行结束操作。

通过如上所述的方法,对运行的进程进行软件分类获得进程归属的软件列表,根据软件使用特征在软件列表中确定未使用状态软件,识别各未使用状态软件仍在运行的进程为残留进程,进而结束所有残留进程的运行,从而智能识别计算机设备中的残留进程,并结束所有残留进程的运行,操作简便,大大提高了残留进程的处理效率。

图3是根据一示例性实施例示出的对步骤S120的细节的描述。该步骤S120可以包括以下步骤。

在步骤S121中,针对软件列表中的每一软件,进行软件的所有软件使用特征存在性判断。

可以理解的是,在软件运行而实现相应功能时,通常在计算机设备中存在着一定的软件使用特征。在一个示例性实施例中,软件使用特征包括可视化窗口显示、托盘区域存在托盘图标、关联软件运行软件的行为等特征的任意一种或者任意组合。

一软件所有软件使用特征的存在性判断,所指的所有软件使用特征,将是预先指定的若干个软件使用特征。可以理解的,在具体实现中,可以对所有软件指定统一的软件使用特征,也可以针对特定的软件而指定软件使用特征,在此不进行限定,将根据实际运行的需要进行指定。

在一个示例性实施例中,软件使用特征的预先指定,可以按照软件所属的类别而分类别指定相应的软件使用特征。例如,对于视频类软件,可预先指定存在可视化窗口显示的特征和/或关联软件运行软件的行为作为其软件使用特征。

与之相对应的,对视频类软件进行所有软件使用特征的存在性判断时,指定的软件使用特征不包括托盘区域存在托盘图标,而是进行可视化窗口显示的特征和/或关联软件运行软件的行为的存在性判断。

可以理解的,在通过图2对应实施例中步骤S110得到进程归属的软件列表之后,针对软件列表中的每一软件,按照指定的所有软件使用特征进行存在性判断,以为此软件确认其所不存在的软件使用特征。

根据软件使用特征对软件列表中的软件进行判断,当软件具有一个或多个软件使用特征时,则确定该软件仍处于使用状态;当软件不具备任何一个软件使用特征时,则确定该软件处于未使用状态。

在步骤S122中,如果软件的所有软件使用特征均不存在,则将软件标记为未使用状态的软件。

通过图2对应实施例中的步骤S110,对于由运行的进程所进行软件分类而得到的进程归属的软件列表,软件列表中软件的数量为一个或者多个。

在前述步骤S121中,一个或者多个软件中,针对每一软件进行了所有软件使用特征的存在性判断,在该软件的所有软件使用特征均不存在时,确定该软件正处于未使用状态,因此,对该软件进行标记。

若该软件不存在任何一个软件使用特征,则该软件只是存在后台运行的进程,并未被执行实现其功能,因此将该软件标记为未使用状态软件。

例如,用户执行浏览器A的关闭操作后,浏览器的主进程结束运行,但浏览器插件进程A0仍在运行。通过对浏览器插件进程A0归属的浏览器A进行软件使用特征的判断,当浏览器A不存在任一软件使用特征时,则将浏览器A标记为未使用状态软件。

通过如上所述的方法,在得到运行进程归属的软件列表后,按照软件使用特征对软件列表中的每一软件进行判断,将不存在任何软件使用特征的软件标记为未使用状态软件,识别未使用状态软件的运行进程为残留进程,进而结束残留进程的运行,操作简便,大大提高了进程处理的效率。

图4是根据一示例性实施例示出的对步骤S121的细节的描述。软件使用特征包括可视化窗口显示,该步骤S121可以包括以下步骤。

在步骤S1211中,针对软件列表中的每一软件,判断软件在屏幕的显示区域是否存在可视化窗口,若为是,则执行步骤S1213,若为否,则执行步骤S1212。

可视化窗口显示是指软件存在显示于计算机设备屏幕中的可视化窗口。

对软件在计算机设备屏幕中是否存在可视化窗口进行判断,若软件在屏幕存在可视化窗口,则该软件通过可视化窗口与用户进行信息交互,因此该软件在运行使用中;若该软件在屏幕存在可视化窗口,则判定该软件不存在可视化窗口显示的软件使用特征。

在步骤S1212中,判定软件不存在可视化窗口显示。

在步骤S1213中,判定软件在运行使用中。

可视化窗口显示的存在性判断,仅仅是进行所有软件使用特征中一种软件使用特征的判断,对于进程归属的软件,需要得到所有软件使用特征的存在性判断结果之后,才能准确识别出未使用状态软件。

可选的,图5是根据一示例性实施例示出的对步骤S1211的细节的描述。该步骤S1211可以包括以下步骤。

在步骤S12111中,针对软件列表中的每一软件,在软件的所有窗口中查找具有可视化属性的窗口。

可以理解的是,一个软件可能存在或不存在窗口。针对每一个软件,根据窗口属性,获取软件的所有窗口。例如,根据窗口的窗口句柄,通过IsWinows函数等方式获取各软件具有窗口句柄的所有窗口。

若一个软件不存在窗口,则可说明该软件不存在可视化窗口显示的软件使用特征。

在获取软件的所有窗口后,在该软件所有窗口中的每一个窗口进行判断,查找具有可视化属性的窗口。例如,通过IsWindowVisible函数等方式对每一个窗口的可视化属性进行判断,查找具有可视化属性的窗口。

在步骤S12112中,判断可视化属性的窗口是否显示在屏幕的显示范围内。

查找到具有可视化属性的窗口后,判断各可视化属性的窗口是否位于屏幕中的坐标位置,从而判断出各可视化属性的窗口是否显示在屏幕的显示范围内。

图6是根据一示例性实施例示出的对步骤S121的细节的描述。软件使用特征包括托盘区域存在相应的托盘图标,该步骤S121可以包括以下步骤。

在步骤S1214中,判断软件是否在托盘区域存在相应的托盘图标,若为是,则执行步骤S1213,若为否,则执行步骤S1215。

托盘区域是所有正运行的软件共享的区域。软件运行且被使用时,在托盘区域添加该软件的软件图标,从而该软件在托盘区域存在相应的托盘图标。

判断软件是否在托盘区域存在相应的托盘图标的方式有多种。可以通过针对软件向托盘区域发送验证消息,若托盘区域不对该软件进行验证消息的回复,则判定该软件不在托盘区域存在相应的托盘图标;也可以通过获取托盘化运行的软件,判断软件是否在托盘区域存在相应的托盘图标;还可以通过其他的方式判断软件是否在托盘区域存在相应的托盘图标。

在步骤S1215中,判定软件不在托盘区域存在相应的托盘图标。

通过如上所述的软件在托盘区域中托盘图标的识别,实现了所有软件使用特征中一软件使用特征的存在性判断,进而为图3对应实施例中步骤S122确定所有软件使用特征均不存在提供依据。

图7是根据一示例性实施例示出的对步骤S121的细节的描述。软件使用特征包括关联软件运行软件的行为,该步骤S121可以包括以下步骤。

在步骤S1217中,针对归属于每一软件的进程,根据预设的进程关联关系得到进程的关联进程,并根据关联进程得到软件的关联软件,关联软件是关联进程归属的软件。

进程是计算机中的软件关于某数据集合上的一次运行活动。

进程关联关系是具有关联作用的进程之间的关系。当一个进程运行时,将启动另一个进程的运行,则该进程即为被启动进程的关联进程。

例如,浏览器视频进程为Adobe Flash进程的关联进程。浏览器在访问视频网站时将会运行浏览器视频进程,由于浏览器视频进程是Adobe Flash进程的关联进程,因此,浏览器视频进程运行时将启动Adobe Flash进程的运行,进而在浏览器中进行视频的播放。

关联软件是关联进程归属的软件。通过关联进程自身的信息,获取关联进程归属的关联软件。

在步骤S1218中,判断关联软件中是否存在发生运行软件的行为,若为否,则执行步骤S1219,若为是,则执行步骤S1213。

可以通过判断进程归属的软件的关联软件处于使用状态或非使用状态,判断关联软件中是否发生运行该软件的行为。若存在关联软件处于使用状态,则判定存在关联软件发生运行该软件的行为;若关联软件中所有关联软件均处于未使用状态,则判定不存在关联软件运行软件的行为。

在步骤S1219中,判定不存在关联软件运行软件的行为。

下面结合一个具体的应用场景来详细阐述如上的软件的残留进程处理方法。软件的残留进程处理方法运行于一计算机设备中。具体的,如图8所示。

步骤S810,对运行的所有进程进行软件分类得到进程归属的软件列表。

步骤S820,判断软件列表中的软件在屏幕的显示区域是否存在可视化窗口。若为否,则执行步骤S830,若为是,则执行步骤S880。

步骤S830,判断软件是否在托盘区域存在相应的托盘图标。若为否,则执行步骤S840,若为是,则执行步骤S880。

步骤S840,判断软件是否被关联软件运行。若为否,则执行步骤S850,若为是,则执行步骤S880。

步骤S850,判定该软件处于非使用状态,确定非使用状态软件的运行进程为残留进程。

步骤S860,结束未使用状态软件的残留进程。

步骤S880,判定软件处于使用状态。

下述为本公开装置实施例,可以用于执行本上述软件的残留进程处理方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开软件的残留进程处理方法实施例。

图9是根据一示例性实施例示出的一种软件的残留进程处理装置的框图,该装置包括但不限于:进程分类模块110、未使用软件获取模块120、残留进程获取模块130及残留进程结束模块140。

进程分类模块110,用于对运行的所有进程进行软件分类得到进程归属的软件列表;

未使用软件获取模块120,用于根据软件使用特征在软件列表中确定未使用状态软件;

残留进程获取模块130,用于从运行的所有进程中得到归属于未使用状态软件的进程,将进程标记为未使用状态软件的残留进程;

残留进程结束模块140,用于结束未使用状态软件的残留进程。

上述装置中各个模块的功能和作用的实现过程具体详见上述软件的残留进程处理方法中对应步骤的实现过程,在此不再赘述。

可选的,如图10所示,未使用软件获取模块120包括但不限于:判断子模块121和未使用软件标记子模块122。

判断子模块121,用于针对软件列表中的每一软件,进行软件的所有软件使用特征存在性判断;

未使用软件标记子模块122,用于如果软件的所有软件使用特征均不存在,则将软件标记为未使用状态软件。

可选的,如图11所示,软件使用特征包括可视化窗口显示,判断子模块121包括但不限于:可视化窗口判断单元1211和窗口判定单元1212。

可视化窗口判断单元1211,用于针对软件列表中的每一软件,判断软件在屏幕的显示区域是否存在可视化窗口,如果为否,则通知判定子单元12112。

窗口判定单元1212,用于判定软件不存在可视化窗口显示。

可选的,软件使用特征包括在托盘区域存在相应的托盘图标,判断子模块121包括但不限于:软件图标判断单元。

软件图标判断单元,用于判断软件是否在托盘区域存在相应的托盘图标,如果为否,则判定软件不在托盘区域存在相应的托盘图标。

可选的,如图12所示,软件使用特征包括关联软件运行软件的行为,判断子模块121包括但不限于:关联进程获取单元1217和关联软件判断子单元1218。

关联软件获取单元1217,用于针对归属于每一软件的进程,根据预设的进程关联关系得到进程的关联进程,并根据关联进程得到软件的关联软件,关联软件是关联进程归属的软件;

关联软件判断子单元1218,用于判断关联软件中是否存在发生运行软件的行为,若为否,则判定不存在关联软件运行软件的行为。

可选的,如图12所示,可视化窗口判断单元1211包括但不限于:查找子单元12111和窗口显示判断子单元12112。

查找子单元12111,用于针对软件列表中的每一软件,在软件的所有窗口中查找具有可视化属性的窗口;

窗口显示判断子单元12112,用于判断可视化属性的窗口是否显示在屏幕的显示范围内。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1