本公開(kāi)涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種軟件的殘留進(jìn)程處理軟件的方法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)應(yīng)用技術(shù)的高速發(fā)展,計(jì)算機(jī)設(shè)備諸如智能手機(jī)等便攜移動(dòng)終端以及電腦,都通過(guò)運(yùn)行各種軟件來(lái)實(shí)現(xiàn)所需要的功能。當(dāng)需要在計(jì)算機(jī)設(shè)備中實(shí)現(xiàn)某一功能時(shí),可運(yùn)行相應(yīng)的軟件。在該軟件的運(yùn)行中,通過(guò)執(zhí)行一個(gè)或多個(gè)進(jìn)程實(shí)現(xiàn)其相應(yīng)的功能。當(dāng)不再需要使用該軟件,對(duì)該軟件執(zhí)行關(guān)閉操作時(shí)該軟件對(duì)應(yīng)的進(jìn)程也就會(huì)隨之結(jié)束運(yùn)行。
然而,執(zhí)行關(guān)閉該軟件的操作后,該軟件在計(jì)算機(jī)設(shè)備中存在進(jìn)程殘留的情況,即對(duì)該軟件觸發(fā)了關(guān)閉操作后,該軟件對(duì)應(yīng)的進(jìn)程并沒(méi)有全部結(jié)束運(yùn)行,該軟件對(duì)應(yīng)的多個(gè)進(jìn)程中仍有部分進(jìn)程在運(yùn)行,這些進(jìn)程即為軟件在計(jì)算機(jī)設(shè)備中的殘留進(jìn)程。
并且對(duì)于某些軟件,其對(duì)應(yīng)的某些進(jìn)程具有自啟動(dòng)的功能,即便并未運(yùn)行該軟件,這些進(jìn)程仍然會(huì)在后臺(tái)運(yùn)行,以便在選擇運(yùn)行該軟件時(shí)能夠迅速響應(yīng)。
由此可知,計(jì)算機(jī)設(shè)備中常常存在著軟件的殘留進(jìn)程。此類進(jìn)程占用計(jì)算機(jī)設(shè)備的內(nèi)存和網(wǎng)絡(luò)等核心資源,并且產(chǎn)生大量垃圾文件,從而占用系統(tǒng)資源。
因此,需要在此計(jì)算機(jī)設(shè)備中結(jié)束所存在殘留進(jìn)程。現(xiàn)有的殘留進(jìn)程處理方式實(shí)質(zhì)為手動(dòng)處理的方式。例如,通過(guò)計(jì)算機(jī)設(shè)備的任務(wù)管理器來(lái)結(jié)束所存在的殘留進(jìn)程。具體而言,在任務(wù)管理器中識(shí)別出存在的殘留進(jìn)程,進(jìn)而結(jié)束此進(jìn)程即可。但是,對(duì)于用戶而言,入門門檻高,操縱繁瑣且容易遺漏。
技術(shù)實(shí)現(xiàn)要素:
為了解決相關(guān)技術(shù)中結(jié)束殘留進(jìn)程所存在的操作繁瑣且效率較低下的技術(shù)問(wèn)題,本公開(kāi)提供了一種軟件的殘留進(jìn)程處理方法及裝置。
一種軟件的殘留進(jìn)程處理方法,其特征在于,包括:
對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到所述進(jìn)程歸屬的軟件列表;
根據(jù)軟件使用特征在所述軟件列表中確定未使用狀態(tài)軟件;
從運(yùn)行的所有進(jìn)程中得到歸屬于所述未使用狀態(tài)軟件的進(jìn)程,將所述進(jìn)程標(biāo)記為所述未使用狀態(tài)軟件的殘留進(jìn)程;
結(jié)束所述未使用狀態(tài)軟件的殘留進(jìn)程。
一種軟件的殘留進(jìn)程處理裝置,其特征在于,所述裝置包括:
進(jìn)程分類模塊,用于對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到所述進(jìn)程歸屬的軟件列表;
未使用軟件獲取模塊,用于根據(jù)軟件使用特征在所述軟件列表中確定未使用狀態(tài)軟件;
殘留進(jìn)程獲取模塊,用于從運(yùn)行的所有進(jìn)程中得到歸屬于所述未使用狀態(tài)軟件的進(jìn)程,將所述進(jìn)程標(biāo)記為所述未使用狀態(tài)軟件的殘留進(jìn)程;
殘留進(jìn)程結(jié)束模塊,用于結(jié)束所述未使用狀態(tài)軟件的殘留進(jìn)程。
本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
在對(duì)軟件的進(jìn)程進(jìn)行處理時(shí),通過(guò)對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到進(jìn)程歸屬的軟件列表,根據(jù)軟件使用特征在軟件列表中確定未使用狀態(tài)軟件,從運(yùn)行的所有進(jìn)程中得到歸屬于未使用狀態(tài)軟件的進(jìn)程,將進(jìn)程標(biāo)記為未使用狀態(tài)軟件的殘留進(jìn)程,結(jié)束未使用狀態(tài)軟件的殘留進(jìn)程。根據(jù)軟件使用特征,在運(yùn)行進(jìn)程歸屬的軟件列表中確定未使用狀態(tài)軟件,智能識(shí)別出殘留進(jìn)程,并結(jié)束殘留進(jìn)程的運(yùn)行,操作簡(jiǎn)便,提高了對(duì)殘留進(jìn)程的處理效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開(kāi)。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書中并構(gòu)成本說(shuō)明書的一部分,示出了符合本發(fā)明的實(shí)施例,并于說(shuō)明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種實(shí)施環(huán)境中計(jì)算機(jī)設(shè)備的示意圖;
圖2是根據(jù)一示例性實(shí)施例示出的一種軟件的殘留進(jìn)程處理方法流程圖;
圖3是圖2對(duì)應(yīng)實(shí)施例的根據(jù)軟件使用特征在軟件列表中確定未使用狀態(tài)軟件步驟的流程圖;
圖4是圖3對(duì)應(yīng)實(shí)施例的針對(duì)軟件列表中的每一軟件,進(jìn)行軟件的所有軟件使用特征存在性判斷步驟的流程圖;
圖5是圖4對(duì)應(yīng)實(shí)施例的針對(duì)軟件列表中的每一軟件,判斷軟件在屏幕的顯示區(qū)域是否存在可視化窗口步驟的流程圖;
圖6是圖3對(duì)應(yīng)實(shí)施例的針對(duì)軟件列表中的每一軟件,進(jìn)行軟件的所有軟件使用特征存在性判斷步驟的流程圖;
圖7是圖3對(duì)應(yīng)實(shí)施例的針對(duì)軟件列表中的每一軟件,進(jìn)行軟件的所有軟件使用特征存在性判斷步驟的流程圖;
圖8是根據(jù)一示例性實(shí)施例示出的一種軟件的殘留進(jìn)程處理的具體應(yīng)用場(chǎng)景示意圖;
圖9是根據(jù)一示例性實(shí)施例示出的一種軟件的殘留進(jìn)程處理裝置的框圖;
圖10是圖9對(duì)應(yīng)實(shí)施例示出的未使用軟件獲取模塊的框圖;
圖11是圖10對(duì)應(yīng)實(shí)施例示出的判斷子模塊的框圖;
圖12是圖10對(duì)應(yīng)實(shí)施例示出的判斷子模塊的框圖;
圖13是圖11對(duì)應(yīng)實(shí)施例示出的可視化窗口判斷單元的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例執(zhí)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
在一個(gè)實(shí)施例中,本公開(kāi)涉及的實(shí)施環(huán)境包括:計(jì)算機(jī)設(shè)備和裝設(shè)在計(jì)算機(jī)設(shè)備上的進(jìn)程處理模組。其中,計(jì)算機(jī)設(shè)備具有獨(dú)立操作系統(tǒng),獨(dú)立運(yùn)行空間,可以安裝軟件以及第三方服務(wù)商提供的軟件。進(jìn)程處理模組是能夠?qū)浖臍埩暨M(jìn)程進(jìn)行處理的硬件模塊。
圖1是根據(jù)一示例性實(shí)施例示出的一種裝置100的框圖。裝置100可以應(yīng)用于上述實(shí)施環(huán)境中的計(jì)算機(jī)設(shè)備。
參考圖1,裝置100可以包括以下一個(gè)或者多個(gè)組件:處理組件101,存儲(chǔ)器102,電源組件103,多媒體組件104,音頻組件105,傳感器組件107以及通信組件108。
處理組件101通??刂蒲b置100的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作以及記錄操作相關(guān)聯(lián)的操作等。處理組件101可以包括一個(gè)或多個(gè)處理器109來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件101可以包括一個(gè)或多個(gè)模塊,便于處理組件101和其他組件之間的交互。例如,處理組件101可以包括多媒體模塊,以方便多媒體組件104和處理組件101之間的交互。
存儲(chǔ)器102被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置100的操作。這些數(shù)據(jù)的示例包括用于在裝置100上操作的任何應(yīng)用程序或方法的指令。存儲(chǔ)器102可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。存儲(chǔ)器102中還存儲(chǔ)有一個(gè)或多個(gè)模塊,該一個(gè)或多個(gè)模塊被配置成由該一個(gè)或多個(gè)處理器109執(zhí)行,以完成圖2、圖3、圖4、圖5、圖6、圖7和圖8任一所示方法中的全部或者部分步驟。
電源組件103為裝置100的各種組件提供電力。電源組件103可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置100生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件104包括在所述裝置100和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來(lái)自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。
音頻組件105被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件105包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置100處于操作模式,如呼叫模式、記錄模式和語(yǔ)音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器102或經(jīng)由通信組件108發(fā)送。在一些實(shí)施例中,音頻組件105還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
傳感器組件107包括一個(gè)或多個(gè)傳感器,用于為裝置100提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件107可以檢測(cè)到裝置100的打開(kāi)/關(guān)閉狀態(tài),組件的相對(duì)定位,傳感器組件107還可以檢測(cè)裝置100或裝置100一個(gè)組件的位置改變以及裝置100的溫度變化。在一些實(shí)施例中,該傳感器組件107還可以包括磁傳感器,壓力傳感器或溫度傳感器。
通信組件108被配置為便于裝置100和其他設(shè)備之間有線或無(wú)線方式的通信。裝置100可以接入基于通信標(biāo)準(zhǔn)的無(wú)線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件108經(jīng)由廣播信道接收來(lái)自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件108還包括近場(chǎng)通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來(lái)實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置100可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行下述方法。
圖2是根據(jù)一示例性實(shí)施例示出的一種軟件的殘留進(jìn)程處理方法流程圖。該軟件的殘留進(jìn)程處理方法用于上述所示實(shí)施環(huán)境的計(jì)算機(jī)設(shè)備中。如圖2所示,該軟件的殘留進(jìn)程處理方法可以包括以下步驟。
在步驟S110中,對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到進(jìn)程歸屬的軟件列表。
進(jìn)程是計(jì)算機(jī)設(shè)備中的軟件關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位。
軟件是按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。每個(gè)軟件均有一個(gè)或多個(gè)進(jìn)程,軟件通過(guò)進(jìn)程而實(shí)現(xiàn)其功能。例如,瀏覽器在運(yùn)行過(guò)程中,通過(guò)瀏覽器進(jìn)程在計(jì)算機(jī)設(shè)備屏幕上顯示網(wǎng)頁(yè)、圖像等網(wǎng)絡(luò)信息。
對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類是對(duì)指按照軟件對(duì)運(yùn)行的所有進(jìn)程進(jìn)行分類。運(yùn)行的所有進(jìn)程中,可能是一個(gè)進(jìn)程分類歸屬于一個(gè)軟件,也可能是多個(gè)進(jìn)程分類歸屬于一個(gè)軟件。通過(guò)對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到的軟件列表中,包含所有存在運(yùn)行進(jìn)程的軟件。
計(jì)算機(jī)設(shè)備配置有進(jìn)程管理模塊,進(jìn)程管理模塊用于對(duì)各運(yùn)行的進(jìn)程進(jìn)行軟件分類。運(yùn)行的計(jì)算機(jī)設(shè)備中通過(guò)配置的進(jìn)程管理模塊監(jiān)控正在運(yùn)行的進(jìn)程,獲取運(yùn)行的進(jìn)程自身的信息,通過(guò)進(jìn)程自身的信息對(duì)運(yùn)行的進(jìn)程進(jìn)行軟件分類,得到運(yùn)行的進(jìn)程歸屬的軟件列表。
在一個(gè)示例性實(shí)施例的具體實(shí)現(xiàn)中,計(jì)算機(jī)設(shè)備中進(jìn)程管理模塊通過(guò)NtQuerySystemInformation函數(shù)枚舉系統(tǒng)正在運(yùn)行的進(jìn)程,通過(guò)各個(gè)運(yùn)行進(jìn)程自身的信息,判斷各個(gè)運(yùn)行進(jìn)程歸屬的軟件。
還可以根據(jù)各軟件的類別獲取運(yùn)行的每一個(gè)進(jìn)程歸屬軟件的軟件類別,例如視頻類軟件、辦公類軟件等。
例如,視頻軟件A播放視頻時(shí),運(yùn)行的進(jìn)程有進(jìn)程1、進(jìn)程2,接收用戶的關(guān)閉指令后,進(jìn)程1結(jié)束,但進(jìn)程2仍在運(yùn)行,此時(shí)根據(jù)進(jìn)程2的信息中的描述信息,得到進(jìn)程2歸屬的軟件為視頻軟件A,軟件類別為視頻類軟件。
在步驟S120中,根據(jù)軟件使用特征在軟件列表中確定未使用狀態(tài)軟件。
軟件使用特征是軟件運(yùn)行中實(shí)現(xiàn)該軟件的功能時(shí)存在于計(jì)算機(jī)設(shè)備中的特征。例如,在利用瀏覽器瀏覽網(wǎng)頁(yè)時(shí),瀏覽器就會(huì)在計(jì)算機(jī)設(shè)備的屏幕上顯示窗口,從而與用戶進(jìn)行信息交互,此時(shí),瀏覽器在計(jì)算機(jī)設(shè)備的屏幕上顯示窗口,即為瀏覽器處于使用狀態(tài)時(shí)對(duì)應(yīng)的軟件使用特征。
計(jì)算機(jī)設(shè)備中運(yùn)行進(jìn)程均存在其歸屬的軟件,但運(yùn)行進(jìn)程歸屬的軟件列表中,并不一定是所有的軟件均具備軟件使用特征,也就是說(shuō),軟件列表中的軟件并非都是處于使用狀態(tài)的軟件,常常存在著已經(jīng)執(zhí)行關(guān)閉操作但仍然存在殘留進(jìn)程的軟件,或者已未執(zhí)行其功能實(shí)現(xiàn)過(guò)程但仍然運(yùn)行的軟件,等等。
為識(shí)別此類軟件,預(yù)先指定軟件使用特征,以在計(jì)算機(jī)設(shè)備中及時(shí)識(shí)別出此類軟件。在一個(gè)示例性實(shí)施例中,預(yù)先指定的軟件使用特征,包括但不限于:可視化窗口顯示、托盤區(qū)域存在托盤圖標(biāo)和關(guān)聯(lián)軟件運(yùn)行軟件的行為等任意一種或者任意組合。
軟件列表中包含所有存在運(yùn)行進(jìn)程的軟件,通過(guò)軟件使用特征對(duì)軟件列表中的軟件進(jìn)行判斷,當(dāng)軟件不具備所預(yù)先指定的軟件使用特征時(shí),該軟件通常是后臺(tái)運(yùn)行且用戶不再使用的軟件,處于未使用狀態(tài),因此將該軟件確定為未使用狀態(tài)軟件。例如,用戶對(duì)軟件執(zhí)行關(guān)閉操作后,但該軟件的所有進(jìn)程并未全部結(jié)束而仍有部分進(jìn)程在后臺(tái)運(yùn)行,此時(shí)該軟件雖存在運(yùn)行的進(jìn)程,但處于未使用狀態(tài),將該軟件確定為未使用狀態(tài)軟件。
在步驟S130中,從運(yùn)行的所有進(jìn)程中得到歸屬于未使用狀態(tài)軟件的進(jìn)程,將進(jìn)程標(biāo)記為未使用狀態(tài)軟件的殘留進(jìn)程。
如前所述的,未使用狀態(tài)軟件是不具備軟件使用特征但仍存在運(yùn)行進(jìn)程的軟件,將未使用狀態(tài)軟件仍在運(yùn)行的進(jìn)程標(biāo)記為殘留進(jìn)程。
在步驟S140中,結(jié)束未使用狀態(tài)軟件的殘留進(jìn)程。
通過(guò)前述步驟從運(yùn)行的所有進(jìn)程中確定殘留進(jìn)程后,結(jié)束所有殘留進(jìn)程的運(yùn)行。在智能識(shí)別出計(jì)算機(jī)設(shè)備中所有的殘留進(jìn)程后,結(jié)束所有殘留進(jìn)程的運(yùn)行,無(wú)需逐一對(duì)殘留進(jìn)程進(jìn)行結(jié)束操作。
通過(guò)如上所述的方法,對(duì)運(yùn)行的進(jìn)程進(jìn)行軟件分類獲得進(jìn)程歸屬的軟件列表,根據(jù)軟件使用特征在軟件列表中確定未使用狀態(tài)軟件,識(shí)別各未使用狀態(tài)軟件仍在運(yùn)行的進(jìn)程為殘留進(jìn)程,進(jìn)而結(jié)束所有殘留進(jìn)程的運(yùn)行,從而智能識(shí)別計(jì)算機(jī)設(shè)備中的殘留進(jìn)程,并結(jié)束所有殘留進(jìn)程的運(yùn)行,操作簡(jiǎn)便,大大提高了殘留進(jìn)程的處理效率。
圖3是根據(jù)一示例性實(shí)施例示出的對(duì)步驟S120的細(xì)節(jié)的描述。該步驟S120可以包括以下步驟。
在步驟S121中,針對(duì)軟件列表中的每一軟件,進(jìn)行軟件的所有軟件使用特征存在性判斷。
可以理解的是,在軟件運(yùn)行而實(shí)現(xiàn)相應(yīng)功能時(shí),通常在計(jì)算機(jī)設(shè)備中存在著一定的軟件使用特征。在一個(gè)示例性實(shí)施例中,軟件使用特征包括可視化窗口顯示、托盤區(qū)域存在托盤圖標(biāo)、關(guān)聯(lián)軟件運(yùn)行軟件的行為等特征的任意一種或者任意組合。
一軟件所有軟件使用特征的存在性判斷,所指的所有軟件使用特征,將是預(yù)先指定的若干個(gè)軟件使用特征??梢岳斫獾模诰唧w實(shí)現(xiàn)中,可以對(duì)所有軟件指定統(tǒng)一的軟件使用特征,也可以針對(duì)特定的軟件而指定軟件使用特征,在此不進(jìn)行限定,將根據(jù)實(shí)際運(yùn)行的需要進(jìn)行指定。
在一個(gè)示例性實(shí)施例中,軟件使用特征的預(yù)先指定,可以按照軟件所屬的類別而分類別指定相應(yīng)的軟件使用特征。例如,對(duì)于視頻類軟件,可預(yù)先指定存在可視化窗口顯示的特征和/或關(guān)聯(lián)軟件運(yùn)行軟件的行為作為其軟件使用特征。
與之相對(duì)應(yīng)的,對(duì)視頻類軟件進(jìn)行所有軟件使用特征的存在性判斷時(shí),指定的軟件使用特征不包括托盤區(qū)域存在托盤圖標(biāo),而是進(jìn)行可視化窗口顯示的特征和/或關(guān)聯(lián)軟件運(yùn)行軟件的行為的存在性判斷。
可以理解的,在通過(guò)圖2對(duì)應(yīng)實(shí)施例中步驟S110得到進(jìn)程歸屬的軟件列表之后,針對(duì)軟件列表中的每一軟件,按照指定的所有軟件使用特征進(jìn)行存在性判斷,以為此軟件確認(rèn)其所不存在的軟件使用特征。
根據(jù)軟件使用特征對(duì)軟件列表中的軟件進(jìn)行判斷,當(dāng)軟件具有一個(gè)或多個(gè)軟件使用特征時(shí),則確定該軟件仍處于使用狀態(tài);當(dāng)軟件不具備任何一個(gè)軟件使用特征時(shí),則確定該軟件處于未使用狀態(tài)。
在步驟S122中,如果軟件的所有軟件使用特征均不存在,則將軟件標(biāo)記為未使用狀態(tài)的軟件。
通過(guò)圖2對(duì)應(yīng)實(shí)施例中的步驟S110,對(duì)于由運(yùn)行的進(jìn)程所進(jìn)行軟件分類而得到的進(jìn)程歸屬的軟件列表,軟件列表中軟件的數(shù)量為一個(gè)或者多個(gè)。
在前述步驟S121中,一個(gè)或者多個(gè)軟件中,針對(duì)每一軟件進(jìn)行了所有軟件使用特征的存在性判斷,在該軟件的所有軟件使用特征均不存在時(shí),確定該軟件正處于未使用狀態(tài),因此,對(duì)該軟件進(jìn)行標(biāo)記。
若該軟件不存在任何一個(gè)軟件使用特征,則該軟件只是存在后臺(tái)運(yùn)行的進(jìn)程,并未被執(zhí)行實(shí)現(xiàn)其功能,因此將該軟件標(biāo)記為未使用狀態(tài)軟件。
例如,用戶執(zhí)行瀏覽器A的關(guān)閉操作后,瀏覽器的主進(jìn)程結(jié)束運(yùn)行,但瀏覽器插件進(jìn)程A0仍在運(yùn)行。通過(guò)對(duì)瀏覽器插件進(jìn)程A0歸屬的瀏覽器A進(jìn)行軟件使用特征的判斷,當(dāng)瀏覽器A不存在任一軟件使用特征時(shí),則將瀏覽器A標(biāo)記為未使用狀態(tài)軟件。
通過(guò)如上所述的方法,在得到運(yùn)行進(jìn)程歸屬的軟件列表后,按照軟件使用特征對(duì)軟件列表中的每一軟件進(jìn)行判斷,將不存在任何軟件使用特征的軟件標(biāo)記為未使用狀態(tài)軟件,識(shí)別未使用狀態(tài)軟件的運(yùn)行進(jìn)程為殘留進(jìn)程,進(jìn)而結(jié)束殘留進(jìn)程的運(yùn)行,操作簡(jiǎn)便,大大提高了進(jìn)程處理的效率。
圖4是根據(jù)一示例性實(shí)施例示出的對(duì)步驟S121的細(xì)節(jié)的描述。軟件使用特征包括可視化窗口顯示,該步驟S121可以包括以下步驟。
在步驟S1211中,針對(duì)軟件列表中的每一軟件,判斷軟件在屏幕的顯示區(qū)域是否存在可視化窗口,若為是,則執(zhí)行步驟S1213,若為否,則執(zhí)行步驟S1212。
可視化窗口顯示是指軟件存在顯示于計(jì)算機(jī)設(shè)備屏幕中的可視化窗口。
對(duì)軟件在計(jì)算機(jī)設(shè)備屏幕中是否存在可視化窗口進(jìn)行判斷,若軟件在屏幕存在可視化窗口,則該軟件通過(guò)可視化窗口與用戶進(jìn)行信息交互,因此該軟件在運(yùn)行使用中;若該軟件在屏幕存在可視化窗口,則判定該軟件不存在可視化窗口顯示的軟件使用特征。
在步驟S1212中,判定軟件不存在可視化窗口顯示。
在步驟S1213中,判定軟件在運(yùn)行使用中。
可視化窗口顯示的存在性判斷,僅僅是進(jìn)行所有軟件使用特征中一種軟件使用特征的判斷,對(duì)于進(jìn)程歸屬的軟件,需要得到所有軟件使用特征的存在性判斷結(jié)果之后,才能準(zhǔn)確識(shí)別出未使用狀態(tài)軟件。
可選的,圖5是根據(jù)一示例性實(shí)施例示出的對(duì)步驟S1211的細(xì)節(jié)的描述。該步驟S1211可以包括以下步驟。
在步驟S12111中,針對(duì)軟件列表中的每一軟件,在軟件的所有窗口中查找具有可視化屬性的窗口。
可以理解的是,一個(gè)軟件可能存在或不存在窗口。針對(duì)每一個(gè)軟件,根據(jù)窗口屬性,獲取軟件的所有窗口。例如,根據(jù)窗口的窗口句柄,通過(guò)IsWinows函數(shù)等方式獲取各軟件具有窗口句柄的所有窗口。
若一個(gè)軟件不存在窗口,則可說(shuō)明該軟件不存在可視化窗口顯示的軟件使用特征。
在獲取軟件的所有窗口后,在該軟件所有窗口中的每一個(gè)窗口進(jìn)行判斷,查找具有可視化屬性的窗口。例如,通過(guò)IsWindowVisible函數(shù)等方式對(duì)每一個(gè)窗口的可視化屬性進(jìn)行判斷,查找具有可視化屬性的窗口。
在步驟S12112中,判斷可視化屬性的窗口是否顯示在屏幕的顯示范圍內(nèi)。
查找到具有可視化屬性的窗口后,判斷各可視化屬性的窗口是否位于屏幕中的坐標(biāo)位置,從而判斷出各可視化屬性的窗口是否顯示在屏幕的顯示范圍內(nèi)。
圖6是根據(jù)一示例性實(shí)施例示出的對(duì)步驟S121的細(xì)節(jié)的描述。軟件使用特征包括托盤區(qū)域存在相應(yīng)的托盤圖標(biāo),該步驟S121可以包括以下步驟。
在步驟S1214中,判斷軟件是否在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo),若為是,則執(zhí)行步驟S1213,若為否,則執(zhí)行步驟S1215。
托盤區(qū)域是所有正運(yùn)行的軟件共享的區(qū)域。軟件運(yùn)行且被使用時(shí),在托盤區(qū)域添加該軟件的軟件圖標(biāo),從而該軟件在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo)。
判斷軟件是否在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo)的方式有多種。可以通過(guò)針對(duì)軟件向托盤區(qū)域發(fā)送驗(yàn)證消息,若托盤區(qū)域不對(duì)該軟件進(jìn)行驗(yàn)證消息的回復(fù),則判定該軟件不在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo);也可以通過(guò)獲取托盤化運(yùn)行的軟件,判斷軟件是否在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo);還可以通過(guò)其他的方式判斷軟件是否在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo)。
在步驟S1215中,判定軟件不在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo)。
通過(guò)如上所述的軟件在托盤區(qū)域中托盤圖標(biāo)的識(shí)別,實(shí)現(xiàn)了所有軟件使用特征中一軟件使用特征的存在性判斷,進(jìn)而為圖3對(duì)應(yīng)實(shí)施例中步驟S122確定所有軟件使用特征均不存在提供依據(jù)。
圖7是根據(jù)一示例性實(shí)施例示出的對(duì)步驟S121的細(xì)節(jié)的描述。軟件使用特征包括關(guān)聯(lián)軟件運(yùn)行軟件的行為,該步驟S121可以包括以下步驟。
在步驟S1217中,針對(duì)歸屬于每一軟件的進(jìn)程,根據(jù)預(yù)設(shè)的進(jìn)程關(guān)聯(lián)關(guān)系得到進(jìn)程的關(guān)聯(lián)進(jìn)程,并根據(jù)關(guān)聯(lián)進(jìn)程得到軟件的關(guān)聯(lián)軟件,關(guān)聯(lián)軟件是關(guān)聯(lián)進(jìn)程歸屬的軟件。
進(jìn)程是計(jì)算機(jī)中的軟件關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng)。
進(jìn)程關(guān)聯(lián)關(guān)系是具有關(guān)聯(lián)作用的進(jìn)程之間的關(guān)系。當(dāng)一個(gè)進(jìn)程運(yùn)行時(shí),將啟動(dòng)另一個(gè)進(jìn)程的運(yùn)行,則該進(jìn)程即為被啟動(dòng)進(jìn)程的關(guān)聯(lián)進(jìn)程。
例如,瀏覽器視頻進(jìn)程為Adobe Flash進(jìn)程的關(guān)聯(lián)進(jìn)程。瀏覽器在訪問(wèn)視頻網(wǎng)站時(shí)將會(huì)運(yùn)行瀏覽器視頻進(jìn)程,由于瀏覽器視頻進(jìn)程是Adobe Flash進(jìn)程的關(guān)聯(lián)進(jìn)程,因此,瀏覽器視頻進(jìn)程運(yùn)行時(shí)將啟動(dòng)Adobe Flash進(jìn)程的運(yùn)行,進(jìn)而在瀏覽器中進(jìn)行視頻的播放。
關(guān)聯(lián)軟件是關(guān)聯(lián)進(jìn)程歸屬的軟件。通過(guò)關(guān)聯(lián)進(jìn)程自身的信息,獲取關(guān)聯(lián)進(jìn)程歸屬的關(guān)聯(lián)軟件。
在步驟S1218中,判斷關(guān)聯(lián)軟件中是否存在發(fā)生運(yùn)行軟件的行為,若為否,則執(zhí)行步驟S1219,若為是,則執(zhí)行步驟S1213。
可以通過(guò)判斷進(jìn)程歸屬的軟件的關(guān)聯(lián)軟件處于使用狀態(tài)或非使用狀態(tài),判斷關(guān)聯(lián)軟件中是否發(fā)生運(yùn)行該軟件的行為。若存在關(guān)聯(lián)軟件處于使用狀態(tài),則判定存在關(guān)聯(lián)軟件發(fā)生運(yùn)行該軟件的行為;若關(guān)聯(lián)軟件中所有關(guān)聯(lián)軟件均處于未使用狀態(tài),則判定不存在關(guān)聯(lián)軟件運(yùn)行軟件的行為。
在步驟S1219中,判定不存在關(guān)聯(lián)軟件運(yùn)行軟件的行為。
下面結(jié)合一個(gè)具體的應(yīng)用場(chǎng)景來(lái)詳細(xì)闡述如上的軟件的殘留進(jìn)程處理方法。軟件的殘留進(jìn)程處理方法運(yùn)行于一計(jì)算機(jī)設(shè)備中。具體的,如圖8所示。
步驟S810,對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到進(jìn)程歸屬的軟件列表。
步驟S820,判斷軟件列表中的軟件在屏幕的顯示區(qū)域是否存在可視化窗口。若為否,則執(zhí)行步驟S830,若為是,則執(zhí)行步驟S880。
步驟S830,判斷軟件是否在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo)。若為否,則執(zhí)行步驟S840,若為是,則執(zhí)行步驟S880。
步驟S840,判斷軟件是否被關(guān)聯(lián)軟件運(yùn)行。若為否,則執(zhí)行步驟S850,若為是,則執(zhí)行步驟S880。
步驟S850,判定該軟件處于非使用狀態(tài),確定非使用狀態(tài)軟件的運(yùn)行進(jìn)程為殘留進(jìn)程。
步驟S860,結(jié)束未使用狀態(tài)軟件的殘留進(jìn)程。
步驟S880,判定軟件處于使用狀態(tài)。
下述為本公開(kāi)裝置實(shí)施例,可以用于執(zhí)行本上述軟件的殘留進(jìn)程處理方法實(shí)施例。對(duì)于本公開(kāi)裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本公開(kāi)軟件的殘留進(jìn)程處理方法實(shí)施例。
圖9是根據(jù)一示例性實(shí)施例示出的一種軟件的殘留進(jìn)程處理裝置的框圖,該裝置包括但不限于:進(jìn)程分類模塊110、未使用軟件獲取模塊120、殘留進(jìn)程獲取模塊130及殘留進(jìn)程結(jié)束模塊140。
進(jìn)程分類模塊110,用于對(duì)運(yùn)行的所有進(jìn)程進(jìn)行軟件分類得到進(jìn)程歸屬的軟件列表;
未使用軟件獲取模塊120,用于根據(jù)軟件使用特征在軟件列表中確定未使用狀態(tài)軟件;
殘留進(jìn)程獲取模塊130,用于從運(yùn)行的所有進(jìn)程中得到歸屬于未使用狀態(tài)軟件的進(jìn)程,將進(jìn)程標(biāo)記為未使用狀態(tài)軟件的殘留進(jìn)程;
殘留進(jìn)程結(jié)束模塊140,用于結(jié)束未使用狀態(tài)軟件的殘留進(jìn)程。
上述裝置中各個(gè)模塊的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見(jiàn)上述軟件的殘留進(jìn)程處理方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
可選的,如圖10所示,未使用軟件獲取模塊120包括但不限于:判斷子模塊121和未使用軟件標(biāo)記子模塊122。
判斷子模塊121,用于針對(duì)軟件列表中的每一軟件,進(jìn)行軟件的所有軟件使用特征存在性判斷;
未使用軟件標(biāo)記子模塊122,用于如果軟件的所有軟件使用特征均不存在,則將軟件標(biāo)記為未使用狀態(tài)軟件。
可選的,如圖11所示,軟件使用特征包括可視化窗口顯示,判斷子模塊121包括但不限于:可視化窗口判斷單元1211和窗口判定單元1212。
可視化窗口判斷單元1211,用于針對(duì)軟件列表中的每一軟件,判斷軟件在屏幕的顯示區(qū)域是否存在可視化窗口,如果為否,則通知判定子單元12112。
窗口判定單元1212,用于判定軟件不存在可視化窗口顯示。
可選的,軟件使用特征包括在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo),判斷子模塊121包括但不限于:軟件圖標(biāo)判斷單元。
軟件圖標(biāo)判斷單元,用于判斷軟件是否在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo),如果為否,則判定軟件不在托盤區(qū)域存在相應(yīng)的托盤圖標(biāo)。
可選的,如圖12所示,軟件使用特征包括關(guān)聯(lián)軟件運(yùn)行軟件的行為,判斷子模塊121包括但不限于:關(guān)聯(lián)進(jìn)程獲取單元1217和關(guān)聯(lián)軟件判斷子單元1218。
關(guān)聯(lián)軟件獲取單元1217,用于針對(duì)歸屬于每一軟件的進(jìn)程,根據(jù)預(yù)設(shè)的進(jìn)程關(guān)聯(lián)關(guān)系得到進(jìn)程的關(guān)聯(lián)進(jìn)程,并根據(jù)關(guān)聯(lián)進(jìn)程得到軟件的關(guān)聯(lián)軟件,關(guān)聯(lián)軟件是關(guān)聯(lián)進(jìn)程歸屬的軟件;
關(guān)聯(lián)軟件判斷子單元1218,用于判斷關(guān)聯(lián)軟件中是否存在發(fā)生運(yùn)行軟件的行為,若為否,則判定不存在關(guān)聯(lián)軟件運(yùn)行軟件的行為。
可選的,如圖12所示,可視化窗口判斷單元1211包括但不限于:查找子單元12111和窗口顯示判斷子單元12112。
查找子單元12111,用于針對(duì)軟件列表中的每一軟件,在軟件的所有窗口中查找具有可視化屬性的窗口;
窗口顯示判斷子單元12112,用于判斷可視化屬性的窗口是否顯示在屏幕的顯示范圍內(nèi)。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。