[發明專利]一種殺死常駐進程的方法及裝置在審
| 申請號: | 201811028165.4 | 申請日: | 2018-09-04 |
| 公開(公告)號: | CN110928596A | 公開(公告)日: | 2020-03-27 |
| 發明(設計)人: | 張久龍 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京智匯東方知識產權代理事務所(普通合伙) 11391 | 代理人: | 康正德;陳智勇 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 殺死 常駐 進程 方法 裝置 | ||
本發明提供了一種殺死常駐進程的方法及裝置,該方法包括:接收到攜帶有特定標識的自定義信號后,在目標常駐進程的指定位置添加表示接收到特定標識的接收標記,其中,特定標識用于標識殺死目標常駐進程;當目標常駐進程中的任務執行完畢后,檢測目標常駐進程的指定位置是否添加有接收標記;若是,對目標常駐進程執行殺死操作。由此,通過在目標常駐進程的指定位置添加用于表示是否接收到攜帶有特定標識的信號的接收標記,可以使常駐進程在接收到攜帶有特定標識的自定義信號后,不會立即殺死常駐進程,而是等待腳本執行完畢后再殺死常駐進程,從而能夠有效地避免進程立即退出而造成正在執行中的腳本中斷的問題。
技術領域
本發明涉及計算機應用技術領域,特別是涉及一種殺死常駐進程的方法及裝置。
背景技術
通常情況下,當新的項目上線后其真正的代碼目錄是區分版本號的,然后再做個軟連接指向nginx(即engine x,一個高性能的HTTP和反向代理服務器)配置的項目目錄,項目目錄中不可避免地需要寫一些常駐腳本,由于新項目上線時其會存在不同程度的改動,因此為了保證程序的正常運行,需要將舊項目目錄中的這些常駐腳本殺死,然后啟動新項目目錄下的腳本。
現有技術中,在殺死舊腳本的過程中,通常是直接將舊腳本刪除,即直接結束腳本進程,而這樣往往會中斷正在操作中的腳本。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的殺死常駐進程的方法及裝置。
依據本發明的一方面,提供了一種殺死常駐進程的方法,包括接收到攜帶有特定標識的自定義信號后,在所述目標常駐進程的指定位置添加表示接收到所述特定標識的接收標記,其中,所述特定標識用于標識殺死所述目標常駐進程;
當所述目標常駐進程中的任務執行完畢時,檢測目標常駐進程的指定位置是否添加有所述接收標記;
若是,對所述目標常駐進程執行殺死操作。
可選地,當所述目標常駐進程中的任務執行完畢時,若未檢測到所述目標常駐進程的指定位置添加有所述接收標記,則繼續利用所述目標常駐進程執行相應的任務。
可選地,所述常駐進程包括執行PHP腳本的常駐進程。
可選地,所述方法還包括:定義用于標識殺死所述目標常駐進程的特定標識;
在所述目標常駐進程中注冊所述自定義信號量和對應的處理函數,所述處理函數用于對所述自定義信號進行解析,且在解析到所述自定義信號中攜帶有所述特定標識后,在所述目標常駐進程的指定位置添加所述接收標記。
可選地,在所述目標常駐進程中注冊所述自定義信號量包括:在所述目標常駐進程中注冊SIGUSR2信號量。
可選地,在所述目標常駐進程的指定位置添加特定標識的接收標記,包括:
在所述目標常駐進程的進程開始位置處添加所述特定標識的接收標記。
可選地,對所述目標常駐進程執行殺死操作之后,還包括:
啟動新的常駐進程,利用所述新的常駐進程替代所述目標常駐進程執行任務。
依據本發明的另一方面,還提供了一種殺死常駐進程的裝置,包括:
添加模塊,適于接收到攜帶有特定標識的自定義信號后,在所述目標常駐進程的指定位置添加表示接收到所述特定標識的接收標記,其中,所述特定標識用于標識殺死所述目標常駐進程;
檢測模塊,適于當所述目標常駐進程中的任務執行完畢時,檢測所述目標常駐進程的指定位置是否添加有所述接收標記;
進程殺死模塊,適于在所述檢測模塊檢測到所述目標常駐進程的指定位置添加有所述接收標記時,對所述目標常駐進程執行殺死操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811028165.4/2.html,轉載請聲明來源鉆瓜專利網。





