一种获得进程列表的方法及装置的制造方法

文档序号:9844320阅读:241来源:国知局
一种获得进程列表的方法及装置的制造方法
【技术领域】
[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