[發明專利]一種進程管理方法及裝置有效
| 申請號: | 201611078446.1 | 申請日: | 2016-11-29 |
| 公開(公告)號: | CN108121594B | 公開(公告)日: | 2020-10-20 |
| 發明(設計)人: | 關志俊 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 郭潤湘 |
| 地址: | 英屬開曼群島大開曼*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 進程 管理 方法 裝置 | ||
1.一種進程管理方法,其特征在于,包括:
啟動代理進程,所述代理進程加載所述代理進程所鏈接的動態鏈接庫到內存;
所述代理進程創建第一子進程,所述第一子進程通過調用第一程序的入口函數,加載所述第一程序;
所述代理進程創建第二子進程,所述第二子進程通過調用第二程序的入口函數,加載所述第二程序;
其中,所述第一程序和所述第二程序共享所述動態鏈接庫占用的內存;
所述代理進程由init進程啟動,所述代理進程具有其獨有的內存空間,所述內存空間在init進程啟動所述代理進程時由Linux內核分配,且所述代理進程在編譯時鏈接了所述動態鏈接庫。
2.如權利要求1所述的方法,其特征在于,所述代理進程由操作系統中的第一個進程啟動,所述代理進程用于代理所述第一個進程創建子進程。
3.如權利要求1所述的方法,其特征在于,還包括:通過調用用于打開動態鏈接庫的函數,在所述第一子進程中打開所述動態鏈接庫,其中,該函數的輸入參數中包括所述動態鏈接庫的文件名;和/或
還包括:通過調用用于打開動態鏈接庫的函數,在所述第二子進程中打開所述動態鏈接庫,其中,該函數的輸入參數中包括所述動態鏈接庫的文件名。
4.如權利要求1所述的方法,其特征在于,還包括:將所述第一子進程的名稱修改為與所述第一程序的名稱相同;和/或
還包括:將所述第二子進程的名稱修改為與所述第二程序的名稱相同。
5.如權利要求4所述的方法,其特征在于,通過以下方式修改子進程的名稱:
子進程調用用于修改進程名稱的系統調用函數;或者,
子進程獲取所述子進程中用于存儲進程名稱的內存區域的地址,并修改所述地址對應的內存區域中存儲的參數值。
6.如權利要求1所述的方法,其特征在于,所述代理進程創建所述第一子進程之前,還包括:關閉不能被所述第一子進程繼承的資源;和/或
所述代理進程創建所述第二子進程之前,還包括:關閉不能被所述第二子進程繼承的資源。
7.如權利要求1所述的方法,其特征在于,還包括:重置所述第一程序所使用的環境變量;和/或
還包括:重置所述第二程序所使用的環境變量。
8.如權利要求1所述的方法,其特征在于,還包括:
所述第一子進程獲取用于存儲第一子進程名稱的內存區域的地址,并修改所述地址對應的內存區域中存儲的參數值;
和/或,還包括:
所述第二子進程向所述代理進程發送請求;
所述代理進程根據所述請求,獲取用于存儲第二子進程名稱的參數的地址,并修改所述地址中的參數值。
9.如權利要求1所述的方法,其特征在于,還包括:
將被所述第一程序調用的所述動態鏈接庫中的函數所修改的數據,存儲于所述第一子進程獨有的內存空間;和/或
將被所述第二程序調用的所述動態鏈接庫中的函數所修改的數據,存儲于所述第二子進程獨有的內存空間。
10.如權利要求1至9中任一項所述的方法,其特征在于,所述第一程序在被編譯時,所述第一程序的入口函數地址被導出到所述第一程序的可執行文件中;所述第一子進程調用所述第一程序的入口函數之前,根據所述第一程序的可執行文件獲取所述第一程序的入口函數地址;
所述第二程序在被編譯時,所述第二程序的入口函數地址被導出到所述第二程序的可執行文件中;所述第二子進程調用所述第二程序的入口函數之前,根據所述第二程序的可執行文件獲取所述第二程序的入口函數地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611078446.1/1.html,轉載請聲明來源鉆瓜專利網。





