进程管理方法及装置制造方法

文档序号:6501040阅读:145来源:国知局
进程管理方法及装置制造方法
【专利摘要】本发明公开了一种进程管理方法,所述方法包括:获取操作系统中的进程的标识号;在所述进程关闭后,响应所述操作系统中所发生的第一系统事件检查所述第一系统事件的第一事件发送对象集合中是否存在所述标识号并生成检查结果;在所述检查结果为所述第一事件发送对象集合中存在所述标识号的情况下,将所述标识号从所述第一事件发送对象集合中删除。本发明还公开了一种进程管理装置。本发明能有效地防止进程在关闭后被非法触发启动。
【专利说明】进程管理方法及装置 【【技术领域】】
[0001] 本发明涉及计算机【技术领域】,特别涉及一种进程管理方法及装置。 【【背景技术】】
[0002] 传统的关闭操作系统中的进程的方式有如下三种方案:
[0003] 第一种方案:普通用户身份通过调用操作系统中的killBackgroundProcesses接 口来关闭进程。
[0004] 第二种方案:通过root并调用操作系统中的kill pid命令,以关闭进程。
[0005] 第三种方案:通过root并调用操作系统中的forceStopPackage命令,以关闭进 程。
[0006] 在实践中,发明人发现现有技术至少存在以下问题:
[0007] 对于上述第一种方案,其能达到释放内存的目的,但操作系统会马上重启进程,所 以效果并不明显。
[0008] 对于上述第二种方案,由于kill pid命令是linux层的命令,直接跳过android 〇S (安卓操作系统)层逻辑,因此通过kill pid命令把进程关闭,其一是会产生一些不可预 料的错误,其二是无法避免进程会被某些系统事件触发启动。
[0009] 对于上述第三种方案,其同样无法避免会被系统事件触发启动。
[0010] 综上,传统的技术方案不能防止进程在关闭后被非法触发启动。
[0011] 故,有必要提出一种新的技术方案,以解决上述技术问题。 【
【发明内容】

[0012] 鉴于此,本发明提供一种进程管理方法及装置,其能防止进程在关闭后被非法触 发启动。
[0013] 为解决上述技术问题,本发明的技术方案如下:
[0014] 一种进程管理方法,所述方法包括:获取操作系统中的进程的标识号;在所述进 程关闭后,响应所述操作系统中所发生的第一系统事件以检查所述第一系统事件的第一事 件发送对象集合中是否存在所述标识号,并生成检查结果;在所述检查结果为所述第一事 件发送对象集合中存在所述标识号的情况下,将所述标识号从所述第一事件发送对象集合 中删除。
[0015] 一种进程管理装置,所述装置包括:标识号获取模块,用于获取操作系统中的进程 的标识号;检查模块,用于在所述进程关闭后,响应所述操作系统中所发生的第一系统事件 以检查所述第一系统事件的第一事件发送对象集合中是否存在所述标识号,并生成检查结 果;标识号操作模块,用于在所述检查结果为所述第一事件发送对象集合中存在所述标识 号的情况下,将所述标识号从所述第一事件发送对象集合中删除。
[0016] 相对现有技术,本发明由于通过获取将要关闭或者已关闭的进程的标识号,并在 所述进程关闭后以及在所述操作系统发生某一系统事件时将该标识号从所述系统事件的 事件发送对象集合中删除,因此可以防止所述已经关闭了的进程被所述系统事件非法触发 启动,有效地防止了进程在关闭后被非法拉起。
[0017] 为让本发明的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作 详细说明如下: 【【专利附图】

【附图说明】】
[0018] 图1为本发明的进程管理装置的运行环境示意图;
[0019] 图2为本发明的进程管理装置的第一实施例的结构框图;
[0020] 图3为本发明的进程管理装置的第二实施例的结构框图;
[0021] 图4为本发明的进程管理装置的第三实施例的结构框图;
[0022] 图5为本发明的进程管理方法的第一实施例的流程图;
[0023] 图6为本发明的进程管理方法的第二实施例的流程图;
[0024] 图7为本发明的进程管理方法的第三实施例的流程图;
[0025] 图8A和图8B为本发明的进程管理方法的第四实施例的流程图;
[0026] 图9A和图9B为本发明的进程管理方法的第五实施例的流程图。 【【具体实施方式】】
[0027] 以下各实施例的说明是参考附加的图式,用以例示本发明可用以实施的特定实施 例。
[0028] 参考图1,本发明的进程管理装置可以运行于计算机或安装有目前常用的便携式 可移动智能设备的操作系统平台的用户设备中,该计算机可以是个人电脑、服务器等等中 的一种或者一种以上组合而成的系统,该用户设备可以是移动终端、掌上电脑、平板电脑等 等中的任意一种,该计算机或者该用户设备中可以包括至少一个处理器101 (图中仅示意出 一个)、存储器102、电源103、开关器件104、传感器105、时钟信号生成器106、输入输出设备 107等中的任意组合100,上述计算机或者用户设备中的处理器101、存储器102、电源103、 开关器件104、传感器105、时钟信号生成器106、输入输出设备107等中的任意组合100用 于实现本发明的进程管理方法中的步骤及进程管理装置中的功能。
[0029] 在本实施例中,所述进程管理装置所对应的软件程序指令存储于存储器102中, 并被处理器101执行,以实现操作系统中的进程管理。
[0030] 另外,上述存储器102为计算机可读取的存储介质,该存储介质可为磁碟、光盘、 只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory, RAM)等。
[0031] 参考图2,为本发明的进程管理装置200的第一实施例的结构框图。
[0032] 为了更好的描述所述进程管理装置200,本实施例按照该进程管理装置200所对 应的程序指令能实现的功能,将该进程管理装置200划分为多个模块,该多个模块包括标 识号获取模块201、检查模块202和标识号操作模块203。
[0033] 所述标识号获取模块201用于获取操作系统中的进程的标识号。
[0034] 具体地,所述标识号获取模块201可以用于从所述操作系统中的接口中获取所述 进程的标识号。所述标识号可以是所述进程的唯一码,例如,开发者签名等。
[0035] 所述检查模块202用于在所述进程关闭后,响应所述操作系统中所发生的第一系 统事件以检查所述第一系统事件的第一事件发送对象集合中是否存在所述标识号,并生成 检查结果。通过对该系统事件的事件发送对象集合进行检查,检查模块202可以获知该事 件发送对象集合中是否存在该标识号的情况。
[0036] 所述标识号操作模块203用于在所述检查结果为所述第一事件发送对象集合中 存在所述标识号的情况下,将所述标识号从所述第一事件发送对象集合中删除。由于在所 述事件发送对象集合中存在该标识号的情况下,系统事件会拉起(即触发启动)该进程,从 而造成所述关闭了的进程再次被启动,而通过将所述标识号从所述事件发送对象集合中删 除,可以防止所述进程被非法触发启动。这里所指的非法触发启动是指:在所述进程被关闭 了的情况下(此时,用户不希望所述进程启动),违背用户的意愿或希望去触发启动,或者误 触发启动,或者由于其它因素而触发启动。
[0037] 在本实施例中,通过标识号获取模块201获取将要关闭或者已关闭的进程的标识 号,并通过检查模块202和标识号操作模块203在所述进程关闭后以及在所述操作系统发 生某一系统事件时将该标识号从所述系统事件的事件发送对象集合中删除,因此可以防止 所述已经关闭了的进程被所述系统事件非法触发启动,有效地防止了进程在关闭后被非法 拉起。
[0038] 参考图3,为本发明的进程管理装置200的第二实施例的结构框图。本实施例与上 述第一实施例相似,不同之处在于:
[0039] 所述装置200还包括判断模块301。
[0040] 所述判断模块301用于判断所述第一系统事件是否能够触发所述进程启动并生 成判断结果。具体地,判断模块301可以用于首先分析所述第一系统事件能够触发启动哪 些进程,再将上述已关闭了的进程(对应所述标识号)与所述第一系统事件能够触发启动的 进程进行比较,进而判断所述第一系统事件是否能够触发启动所述进程。
[0041] 所述检查模块202用于在所述判断结果为所述第一系统事件能够触发所述进程 启动的情况下,检查所述第一事件发送对象集合中是否存在所述标识号并生成所述检查结 果。
[0042] 在本实施例中,通过判断模块301预先判断所述第一系统事件是否能够触发启动 所述进程,并通过检查模块202在判断得出所述第一系统事件能够触发启动所述进程的情 况下再对所述第一事件发送对象集合中是否存在所述标识号进行检查,因此可以避免在不 必要对所述第一事件发送对象集合进行检查(所述第一系统事件不能够触发启动所述进 程)的情况下对所述第一事件发送对象集合进行检查,有利于减少用户设备中处理器101, 如中央处理单元(Central Processing Unit, CPU)资源的消耗。
[0043] 参考图4,为本发明的进程管理装置200的第三实施例的结构框图。本实施例与上 述第一或第二实施例相似,不同之处在于:
[0044] 所述装置200还包括操作指令获取模块401和记录模块402。
[0045] 所述操作指令获取模块401用于响应用户关闭所述进程的操作获取与关闭所述 进程相关的第一操作指令。
[0046] 所述记录模块402用于根据所述第一操作指令记录所述进程的状态。
[0047] 针对上述标识号获取模块201,其获取所述标识号这一操作可以在所述进程的状 态为所述进程是由用户的操作触发关闭的情况下进行,此外,标识号获取模块201获取所 述标识号这一操作可以在所述进程关闭后进行,也可以在所述进程关闭的过程中进行,还 可以在获取到所述第一操作指令后以及在关闭所述进程之前进行。
[0048] 在本实施例中,通过记录模块402响应用户的操作来记录所述进程的状态,因此 可以在所述进程的状态为所述进程是由用户的操作触发关闭的情况下才实施禁止所述进 程被非法触发启动的措施,也就是说,可以识别所述进程的关闭是否是由用户实施的,如果 所述进程是由用户关闭的,则在下一次用户启动所述进程之前,保持所述进程处于关闭状 态(即,禁止所述进程被其它软件或进程触发启动),如果所述进程是由其它软件或进程关 闭的(此时用户并没有希望所述进程关闭),则允许所述进程被其它软件或进程触发启动, 而不是禁止所述进程被其它系统事件触发启动,也就是说,仅在用户关闭了所述进程的情 况下(用户希望所述进程关闭)禁止所述进程被非法触发启动,而在所述进程是被其它软件 关闭了的情况下(即,所述进程的关闭并不是由用户实施的),允许(或不禁止)所述进程再 次被其它系统事件触发启动(用户没有希望所述进程关闭)。
[0049] 本发明的进程管理装置200的第四实施例与上述第一、第二、第三实施例中的任 意一个实施例相似,不同之处在于:
[0050] 在本实施例中,所述操作指令获取模块401还用于响应用户启动所述进程的操作 获取与启动所述进程相关的第二操作指令。
[0051] 所述记录模块402还用于根据所述第二操作指令记录所述进程的状态。
[0052] 在本实施例中,通过记录模块402响应用户的操作来记录所述进程的状态,因此 可以获知所述进程被用户主动启动(用户希望所述进程启动),进而对进程被其它系统事件 触发启动这一操作解禁。
[0053] 本发明的进程管理装置200的第五实施例与上述第一、第二、第三、第四实施例中 的任意一个实施例相似,不同之处在于:
[0054] 在本实施例中,所述标识号操作模块203还用于响应所述操作系统中所发生的第 二系统事件将所述标识号添加到所述第二系统事件的第二事件发送对象集合中。所述第二 系统事件可以与所述第一系统事件相同,所述第二事件发送对象集合可以与所述第一事件 发送对象集合相同。
[0055] 在本实施例中,通过标识号操作模块203响应所述第二系统事件将所述标识号添 加到所述第二系统事件的第二事件发送对象集合中,有利于在允许所述进程被其它系统事 件触发启动的情况下,上述进程被触发启动。
[0056] 参考图5,为本发明的进程管理方法的第一实施例的流程图。
[0057] 本实施例的进程管理方法包括:
[0058] 步骤501,标识号获取模块201获取操作系统中的进程的标识号。具体地,在本步 骤中,标识号获取模块201可以从所述操作系统中的接口中获取所述进程的标识号。所述 标识号可以是所述进程的唯一码,例如,开发者签名等。
[0059] 步骤502和步骤503,检查模块202在所述进程关闭后,响应所述操作系统中所发 生的第一系统事件以检查所述第一系统事件的第一事件发送对象集合中是否存在所述标 识号,并生成检查结果。通过检查模块202对该系统事件的事件发送对象集合进行检查,可 以获知该事件发送对象集合中是否存在该标识号的情况。
[0060] 在所述检查结果为所述第一事件发送对象集合中存在所述标识号的情况下,执行 步骤504。在所述检查结果为所述第一事件发送对象集合中不存在所述标识号时,返回步骤 502。
[0061] 步骤504,标识号操作模块203将所述标识号从所述第一事件发送对象集合中删 除。
[0062] 由于在所述事件发送对象集合中存在该标识号的情况下,系统事件会拉起(即触 发启动)该进程,从而造成所述关闭了的进程再次被启动,而通过标识号操作模块203将所 述标识号从所述事件发送对象集合中删除,可以防止所述进程被非法触发启动。这里所指 的非法触发启动是指:在所述进程被关闭了的情况下(此时,用户不希望所述进程启动),违 背用户的意愿或希望去触发启动,或者误触发启动,或者由于其它因素而触发启动。
[0063] 在本实施例中,通过标识号获取模块201获取将要关闭或者已关闭的进程的标识 号,并通过检查模块202和标识号操作模块203在所述进程关闭后以及在所述操作系统发 生某一系统事件时将该标识号从所述系统事件的事件发送对象集合中删除,因此可以防止 所述已经关闭了的进程被所述系统事件非法触发启动,有效地防止了进程在关闭后被非法 拉起。
[0064] 参考图6,为本发明的进程管理方法的第二实施例的流程图。本实施例与上述第一 实施例相似,不同之处在于:
[0065] 在本实施例中,所述响应所述操作系统中所发生的第一系统事件以检查所述第一 系统事件的第一事件发送对象集合中是否存在所述标识号,并生成检查结果的步骤(即,步 骤502和步骤503)包括:
[0066] 步骤601和步骤602,判断模块301判断所述第一系统事件是否能够触发所述进程 启动并生成判断结果。具体地,判断模块301可以首先分析所述第一系统事件能够触发启 动哪些进程,再将上述已关闭了的进程(对应所述标识号)与所述第一系统事件能够触发启 动的进程进行比较,进而判断所述第一系统事件是否能够触发启动所述进程。
[0067] 在所述判断结果为所述第一系统事件能够触发所述进程启动的情况下,执行步骤 603。否则,返回步骤601。
[0068] 步骤603和步骤604,检查模块202在所述判断结果为所述第一系统事件能够触发 所述进程启动的情况下,检查所述第一事件发送对象集合,并于步骤604中判断该第一事 件发送对象集合中是否存在所述标识号并生成所述检查结果。
[0069] 在本实施例中,通过判断模块301预先判断所述第一系统事件是否能够触发启动 所述进程,并通过检查模块202在判断得出所述第一系统事件能够触发启动所述进程的情 况下再对所述第一事件发送对象集合中是否存在所述标识号进行检查,因此可以避免在不 必要对所述第一事件发送对象集合进行检查(所述第一系统事件不能够触发启动所述进 程)的情况下对所述第一事件发送对象集合进行检查,有利于减少用户设备中处理器101资 源的消耗。
[0070] 参考图7,为本发明的进程管理方法的第三实施例的流程图。本实施例与上述第一 或第二实施例相似,不同之处在于:
[0071] 在本实施例中,在所述响应所述操作系统中所发生的第一系统事件以检查所述第 一系统事件的第一事件发送对象集合中是否存在所述标识号的步骤(即,步骤502和步骤 503)之前,所述方法还包括:
[0072] 步骤701,操作指令获取模块401响应用户关闭所述进程的操作获取与关闭所述 进程相关的第一操作指令。
[0073] 步骤702,记录模块402根据所述第一操作指令记录所述进程的状态。针对步骤 501,标识号获取模块201获取所述标识号这一步骤可以在所述进程的状态为所述进程是 由用户的操作触发关闭的情况下进行,此外,标识号获取模块201获取所述标识号这一步 骤可以在所述进程关闭后进行,也可以在所述进程关闭的过程中进行,还可以在获取到所 述第一操作指令后以及在关闭所述进程之前进行。
[0074] 在本实施例中,通过记录模块402响应用户的操作来记录所述进程的状态,因此 可以在所述进程的状态为所述进程是由用户的操作触发关闭的情况下才实施禁止所述进 程被非法触发启动的措施,也就是说,可以识别所述进程的关闭是否是由用户实施的,如果 所述进程是由用户关闭的,则在下一次用户启动所述进程之前,保持所述进程处于关闭状 态(即,禁止所述进程被其它软件或进程触发启动),如果所述进程是由其它软件或进程关 闭的(此时用户并没有希望所述进程关闭),则允许所述进程被其它软件或进程触发启动, 而不是禁止所述进程被其它系统事件触发启动,也就是说,仅在用户关闭了所述进程的情 况下(用户希望所述进程关闭)禁止所述进程被非法触发启动,而在所述进程是被其它软件 关闭了的情况下(即,所述进程的关闭并不是由用户实施的),允许(不禁止)所述进程再次 被其它系统事件触发启动(用户没有希望所述进程关闭)。
[0075] 参考图8A和图8B,为本发明的进程管理方法的第四实施例的流程图。本实施例与 上述第一、第二、第三实施例中的任意一个实施例相似,不同之处在于:
[0076] 在本实施例中,在所述将所述标识号从所述第一事件发送对象集合中删除的步骤 (即,步骤504)之后,所述方法还包括:
[0077] 步骤801,操作指令获取模块401响应用户启动所述进程的操作获取与启动所述 进程相关的第二操作指令。
[0078] 步骤802,记录模块402根据所述第二操作指令记录所述进程的状态。
[0079] 在本实施例中,通过记录模块402响应用户的操作来记录所述进程的状态,因此 可以获知所述进程被用户主动启动(用户希望所述进程启动),进而对进程被其它系统事件 触发启动这一操作解禁。
[0080] 参考图9A和图9B,为本发明的进程管理方法的第五实施例的流程图。本实施例与 上述第一、第二、第三、第四实施例中的任意一个实施例相似,不同之处在于:
[0081] 在本实施例中,在所述响应用户启动所述进程的操作获取与启动所述进程相关的 第二操作指令的步骤(即,步骤801)之后,所述方法还包括:
[0082] 步骤901,标识号操作模块203响应所述操作系统中所发生的第二系统事件将所 述标识号添加到所述第二系统事件的第二事件发送对象集合中。所述第二系统事件可以与 所述第一系统事件相同,所述第二事件发送对象集合可以与所述第一事件发送对象集合相 同。
[0083] 在本实施例中,通过标识号操作模块203响应所述第二系统事件将所述标识号添 加到所述第二系统事件的第二事件发送对象集合中,有利于在允许所述进程被其它系统事 件触发启动的情况下允许上述进程被触发启动。
[0084] 综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限 制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润 饰,因此本发明的保护范围以权利要求界定的范围为准。
【权利要求】
1. 一种进程管理方法,其特征在于,所述方法包括: 获取操作系统中的进程的标识号; 在所述进程关闭后,响应所述操作系统中所发生的第一系统事件以检查所述第一系统 事件的第一事件发送对象集合中是否存在所述标识号,并生成检查结果; 在所述检查结果为所述第一事件发送对象集合中存在所述标识号的情况下,将所述标 识号从所述第一事件发送对象集合中删除。
2. 根据权利要求1所述的进程管理方法,其特征在于,所述响应所述操作系统中所发 生的第一系统事件以检查所述第一系统事件的第一事件发送对象集合中是否存在所述标 识号,并生成检查结果的步骤包括: 判断所述第一系统事件是否能够触发所述进程启动并生成判断结果; 在所述判断结果为所述第一系统事件能够触发所述进程启动的情况下,检查所述第一 事件发送对象集合中是否存在所述标识号并生成所述检查结果。
3. 根据权利要求1或2所述的进程管理方法,其特征在于,在所述响应所述操作系统中 所发生的第一系统事件以检查所述第一系统事件的第一事件发送对象集合中是否存在所 述标识号的步骤之前,所述方法还包括: 响应用户关闭所述进程的操作,获取与关闭所述进程相关的第一操作指令; 根据所述第一操作指令记录所述进程的状态。
4. 根据权利要求1所述的进程管理方法,其特征在于,在所述将所述标识号从所述第 一事件发送对象集合中删除的步骤之后,所述方法还包括: 响应用户启动所述进程的操作,获取与启动所述进程相关的第二操作指令; 根据所述第二操作指令记录所述进程的状态。
5. 根据权利要求4所述的进程管理方法,其特征在于,在所述响应用户启动所述进程 的操作获取与启动所述进程相关的第二操作指令的步骤之后,所述方法还包括: 响应所述操作系统中所发生的第二系统事件,将所述标识号添加到所述第二系统事件 的第二事件发送对象集合中。
6. -种进程管理装置,其特征在于,所述装置包括: 标识号获取模块,用于获取操作系统中的进程的标识号; 检查模块,用于在所述进程关闭后,响应所述操作系统中所发生的第一系统事件以检 查所述第一系统事件的第一事件发送对象集合中是否存在所述标识号,并生成检查结果; 标识号操作模块,用于在所述检查结果为所述第一事件发送对象集合中存在所述标识 号的情况下,将所述标识号从所述第一事件发送对象集合中删除。
7. 根据权利要求6所述的进程管理装置,其特征在于,所述装置还包括: 判断模块,用于判断所述第一系统事件是否能够触发所述进程启动并生成判断结果; 所述检查模块用于在所述判断结果为所述第一系统事件能够触发所述进程启动的情 况下,检查所述第一事件发送对象集合中是否存在所述标识号并生成所述检查结果。
8. 根据权利要求6或7所述的进程管理装置,其特征在于,所述装置还包括: 操作指令获取模块,用于响应用户关闭所述进程的操作,获取与关闭所述进程相关的 第一操作指令; 记录模块,用于根据所述第一操作指令记录所述进程的状态。
9. 根据权利要求6所述的进程管理装置,其特征在于,所述操作指令获取模块还用于 响应用户启动所述进程的操作,获取与启动所述进程相关的第二操作指令; 所述记录模块还用于根据所述第二操作指令记录所述进程的状态。
10. 根据权利要求9所述的进程管理装置,其特征在于,所述标识号操作模块还用于响 应所述操作系统中所发生的第二系统事件,将所述标识号添加到所述第二系统事件的第二 事件发送对象集合中。将所述标识号添加到所述事件发送对象集合中。
【文档编号】G06F11/00GK104063288SQ201310096287
【公开日】2014年9月24日 申请日期:2013年3月22日 优先权日:2013年3月22日
【发明者】梁家辉 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1