<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種獲得進程列表的方法及裝置的制造方法

文檔序號:9844320閱讀:288來源:國知局
一種獲得進程列表的方法及裝置的制造方法
【技術領域】
[0001] 本發明涉及信息安全技術領域,尤其涉及一種獲得進程列表的方法及裝置。
【背景技術】
[0002] Android是一種基于Linux的自由及開放源代碼的操作系統,主要應用于移動設 備,例如:智能手機和平板電腦。目前,基于Android系統已經開發出上百萬款App (Application program,應用程序),涵蓋人們生活中的各個方面。
[0003] 由于Android的開源性以及Android生態圈的不完善等特點,導致Android系統容 易受到惡意程序的攻擊,所以Android的安全防護、以及性能優化備受業界關注。在對 Android系統進行安全防護和性能優化過程中,獲得Android的進程列表是非常重要的,很 多安全類App(即:用于保證系統安全并對系統進行優化的App)都需要獲得進程列表,從而 實現進程清理、以及病毒查殺等功能。在Android 5.0以下的版本中,提供有一特定接口,通 過調用ActivityManager · getRunningAppProcess函數來訪問該特定接口,即可獲得一 RunningApprocessInfo對象,該RunningApprocessInfo對象提供有一進程列表,其中包含 較為全面的進程信息(例如:進程名稱、進程用戶、進程ID、用戶ID,等等),這是安全類App在 進行進程清理以及病毒查殺時必要的信息。
[0004] 但是在Android 5.0版本中,不再提供該特定接口,取而代之提供了 AppStaksManager接口,通過AppStaksManager接口同樣可以獲得進程列表,但是需要用戶 手動開啟對應的權限,在用戶不開啟該權限的情況下,或在其他應用程序關閉該權限的情 況下,安全類App則無法通過AppStaksManager接口獲得進程列表,進而無法順利完成進程 清理和病毒查殺的功能。同時,基于AppStaksManager接口獲得的進程列表中僅包含進程名 稱,無法獲得同Android5.0以下版本一樣全面的進程信息,這也會影響到進程清理和病毒 查殺的效果。

【發明內容】

[0005] 鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上 述問題的獲得進程列表的方法及裝置。
[0006] 本發明的第一方面,提供了一種獲得進程列表的方法,包括:
[0007] 執行進程查看命令,并獲取所述進程查看命令的輸出結果;
[0008] 基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾;
[0009] 對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程信息包含的全部 字段;
[0010] 從所述過濾后的每條進程信息包含的全部字段中提取預設字段;
[0011] 基于所述過濾后的每條進程信息中的所述預設字段,構造一進程列表。
[0012] 優選地,所述進程查看命令為PS命令。
[0013] 優選地,所述基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾,包 括:
[0014] 如果第一進程信息中的進程用戶是以第一預設字符串開頭的用戶,則保留所述第 一進程信息;其中,所述第一進程信息為所述輸出結果中的全部進程信息中的任一進程信 息。
[0015] 優選地,所述基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾,包 括:
[0016] 如果第一進程信息中的進程用戶為system,且所述第一進程息的進程名稱中包含 第一預設字符但不包含第二預設字符也不包含第二預設字符串,則保留所述第一進程信 息;其中,所述第一進程信息為所述輸出結果中的全部進程信息中的任一進程信息。
[0017] 優選地,所述基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾,包 括:
[0018] 如果第一進程信息的進程用戶不是system也不是以第一預設字符串開頭的用戶, 且所述第一進程信息的進程名稱中包含第一預設字符但不包含第二預設字符,則保留所述 第一進程信息;其中,所述第一進程信息為所述輸出結果中的全部進程信息中的任一進程 信息。
[0019] 優選地,所述對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程信 息包含的全部字段,包括:
[0020] 掃描所述過濾后的每條進程信息,記下所述過濾后的每條進程信息中的每一個從 空字符變化為非空字符的位置,并將所述每一個從空字符變化為非空字符的位置存為數 組;
[0021] 利用數組的索引,截取所述每一個從空字符變化為非空字符的位置之后的字符 串,從而獲得所述過濾后的每條進程信息中包含的全部字段。
[0022]優選地,所述預設字段,包括:
[0023] 進程名稱、進程用戶、進程ID、用戶ID、進程使用的包名列表、進程重要性信息。
[0024] 優選地,所述從所述過濾后的每條進程信息包含的全部字段中提取預設字段,包 括:
[0025] 從所述過濾后的每條進程信息中的第一列,提取所述過濾后的每條進程信息中的 進程用戶字段;
[0026] 從所述過濾后的每條進程信息中的第二列,提取所述過濾后的每條進程信息中的 進程ID字段;
[0027] 從所述過濾后的每條進程信息中的最后第一列,提取所述過濾后的每條進程信息 中的進程名稱字段。
[0028] 優選地,所述從所述過濾后的每條進程信息包含的全部字段中提取預設字段,包 括:
[0029] 調用android .os .Process .getUidForName函數,獲得所述過濾后的每條進程信息 中的用戶ID字段。
[0030] 優選地,所述從所述過濾后的每條進程信息包含的全部字段中提取預設字段,包 括:
[0031] 基于所述過濾后的每條進程信息所在的包,確定所述過濾后的每條進程信息中的 進程使用的包名列表字段。
[0032] 本發明的第二方面,提供了一種獲得進程列表的裝置,包括:
[0033] 執行模塊,用于執行進程查看命令,并獲取所述進程查看命令的輸出結果;
[0034]過濾模塊,用于基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾;
[0035] 解析模塊,用于對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程 信息包含的全部字段;
[0036] 提取模塊,用于從所述過濾后的每條進程信息包含的全部字段中提取預設字段;
[0037] 構造模塊,用于基于所述過濾后的每條進程信息中的所述預設字段,構造一進程 列表。
[0038] 優選地,所述進程查看命令為PS命令。
[0039]優選地,所述過濾模塊,包括:
[0040]第一保留子模塊,用于如果第一進程信息中的進程用戶是以第一預設字符串開頭 的用戶,則保留所述第一進程信息;其中,所述第一進程信息為所述輸出結果中的全部進程 信息中的任一進程信息。
[0041 ]優選地,所述過濾模塊,包括:
[0042]第二保留子模塊,用于如果第一進程信息中的進程用戶為system,且所述第一進 程息的進程名稱中包含第一預設字符但不包含第二預設字符也不包含第二預設字符串,則 保留所述第一進程信息;其中,所述第一進程信息為所述輸出結果中的全部進程信息中的 任一進程信息。
[0043]優選地,所述過濾模塊,包括:
[0044]第三保留子模塊,用于如果第一進程信息的進程用戶不是system也不是以第一預 設字符串開頭的用戶,且所述第一進程信息的進程名稱中包含第一預設字符但不包含第二 預設字符,則保留所述第一進程信息;其中,所述第一進程信息為所述輸出結果中的全部進 程信息中的任一進程信息。
[0045] 優選地,所述解析模塊,包括:
[0046] 掃描子模塊,用于掃描所述過濾后的每條進程信息,記下所述過濾后的每條進程 信息中的每一個從空字符變化為非空字符的位置,并將所述每一個從空字符變化為非空字 符的位置存為數組;
[0047] 截取子模塊,用于利用數組的索引,截取所述每一個從空字符變化為非空字符的 位置之后的字符串,從而獲得所述過濾后的每條進程信息中包含的全部字段。
[0048]優選地,所述預設字段,包括:
[0049] 進程名稱、進程用戶、進程ID、用戶ID、進程使用的包名列表、進程重要性信息。
[0050] 優選地,所述提取模塊,包括:
[0051] 第一提取子模塊,用于從所述過濾后的每條進程信息中的第一列,提取所述過濾 后的每條進程信息中的進程用戶字段;
[0052]第二提取子模塊,用于從所述過濾后的每條進程信息中的第二列,提取所述過濾 后的每條進程信息中的進程ID字段;
[0053]第三提取子模塊,用于從所述過濾后的每條進程信息中的最后第一列,提取所述 過濾后的每條進程信息中的進程名稱字段。
[0054] 優選地,所述提取模塊,包括:
[0055] 調用子模塊,用于調用android · os · Process · getUidForName函數,獲得所述過濾 后的每條進程信息中的用戶ID字段。
[0056] 優選地,所述提取模塊,包括:
[0057] 確定子模塊,用于基于所述過濾后的每條進程信息所在的包,確定所述過濾后的 每條進程信息中的進程使用的包名列表字段。
[0058]本發明的第三方面,提供了一種進程清理方法,包括:
[0059]執行進程查看命令,并獲取所述進程查看命令的輸出結果;
[0060] 基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾;
[0061] 對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程信息包含的全部 字段;
[0062] 從所述過濾后的每條進程信息包含的全部字段中提取預設字段;
[0063] 基于所述過濾后的每條進程信息中的所述預設字段,構造一進程列表;
[0064]基于所述進程列表進行進程清理。
[0065]本發明的第四方面,提供了一種進程清理裝置,包括:
[0066] 執行模塊,用于執行進程查看命令,并獲取所述進程查看命令的輸出結果;
[0067] 過濾模塊,用于基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾;
[0068] 解析模塊,用于對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程 信息包含的全部字段;
[0069] 提取模塊,用于從所述過濾后的每條進程信息包含的全部字段中提取預設字段;
[0070] 構造模塊,用于基于所述過濾后的每條進程信息中的所述預設字段,構造一進程 列表;
[0071] 清理模塊,用于基于所述進程列表進行進程清理。
[0072 ]本發明的第五方面,提供了一種病毒查殺方法,包括:
[0073]執行進程查看命令,并獲取所述進程查看命令的輸出結果;
[0074] 基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾;
[0075] 對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程信息包含的全部 字段;
[0076] 從所述過濾后的每條進程信息包含的全部字段中提取預設字段;
[0077] 基于所述過濾后的每條進程信息中的所述預設字段,構造一進程列表;
[0078] 基于所述進程列表進行病毒查殺。
[0079] 本發明的第六方面,提供了一種病毒查殺裝置,包括:
[0080] 執行模塊,用于執行進程查看命令,并獲取所述進程查看命令的輸出結果;
[0081] 過濾模塊,用于基于一過濾規則,對所述輸出結果中的全部進程信息進行過濾;
[0082] 解析模塊,用于對過濾后的每條進程信息進行解析,獲得所述過濾后的每條進程 信息包含的全部字段;
[0083
當前第1頁1 2 3 4 5 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影