[發明專利]一種關閉進程的方法以及電子設備有效
| 申請號: | 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.szxzyx.cn/pat/books/201710398808.3/1.html,轉載請聲明來源鉆瓜專利網。





