[发明专利]一种关闭进程的方法以及电子设备有效
申请号: | 201710398808.3 | 申请日: | 2017-05-31 |
公开(公告)号: | CN108984212B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 郑俊明 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关闭 进程 方法 以及 电子设备 | ||
1.一种关闭进程的方法,其特征在于,包括:
接收目标进程关闭指令,所述目标进程关闭指令用于指示关闭目标进程;
根据所述目标进程关闭指令确定所述目标进程所属的目标进程类别,所述目标进程类别包括服务进程和非服务进程;
获取与所述目标进程类别对应的目标关闭指示信息,所述目标关闭指示信息用于指示关闭所述目标进程的方式,且不同的所述目标进程类别对应不同的所述目标关闭指示信息;
根据所述目标关闭指示信息关闭所述目标进程。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标进程关闭指令确定所述目标进程所属的目标进程类别包括:
获取与所述目标进程对应的目标进程控制符PID;
判断所述目标PID是否位于预设的服务进程列表中,所述服务进程列表包括至少一个PID,其中,与所述至少一个PID中的任一PID对应的进程为服务进程;
若判断出所述目标PID位于所述服务进程列表中,则确定所述目标进程类别为服务进程;
若判断出所述目标PID不位于所述服务进程列表中,则确定所述目标进程类别为非服务进程。
3.根据权利要求1或2所述的方法,其特征在于,若所述目标进程类别为非服务进程,则所述根据所述目标关闭指示信息关闭所述目标进程包括:
根据所述目标关闭指示信息打开所述目标进程,以获取所述目标进程所属的句柄;
调用用于关闭所述目标进程的目标函数,所述目标函数为进程结束函数TerminateProcess;
利用已调用的所述目标函数关闭所述目标进程所属的句柄。
4.根据权利要求3所述的方法,其特征在于,所述利用已调用的所述目标函数关闭所述目标进程所属的句柄之后,所述方法还包括:
检测所述目标进程是否成功关闭;
若检测到所述目标进程关闭失败,则通过内核态打开所述目标进程所属的句柄;
在所述目标进程所属的句柄中插入异步过程调用回调APC函数;
在所述异步过程调用回调APC函数中调用所述目标函数;
利用已调用的所述目标函数关闭所述目标进程所属的句柄。
5.根据权利要求1或2所述的方法,其特征在于,若所述目标进程类别为服务进程,则所述根据所述目标关闭指示信息关闭所述目标进程包括:
根据所述目标关闭指示信息获取关联进程,所述关联进程所提供的服务与所述目标进程所提供的服务相关联;
生成停止执行信令,所述停止执行信令用于指示进程停止提供服务;
将所述停止执行信令发送给所述目标进程和所述关联进程,以使所述关联进程和所述目标进程停止提供服务。
6.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标关闭指示信息关闭所述目标进程之后,所述方法还包括:
接收目标重启指令,所述目标重启指令用于指示重启所述目标进程,且所述目标重启指令为非用户触发的指令;
根据所述目标重启指令检测所述目标进程对应的进程控制符PID是否位于预设的防止进程重启列表中,所述防止进程重启列表包括进程控制符PID;
若检测到所述目标进程对应的进程控制符PID位于所述防止进程重启列表中,则不对所述目标进程进行重启;
若检测到所述目标进程对应的进程控制符PID不位于所述防止进程重启列表中,则对所述目标进程进行重启。
7.根据权利要求1或2所述的方法,其特征在于,所述获取与所述目标进程类别对应的目标关闭指示信息之前,所述方法还包括:
判断所述目标进程是否为用于对用户数据进行处理的进程;
若判断出所述目标进程为用于对用户数据进行处理的进程,则对所述目标进程的用户数据进行保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710398808.3/1.html,转载请声明来源钻瓜专利网。