應(yīng)用程序的第一進(jìn)程;
[0146] 在終端的操作系統(tǒng)層對第一進(jìn)程進(jìn)行復(fù)制得到第二進(jìn)程;
[0147] 設(shè)置第二進(jìn)程運(yùn)行卸載監(jiān)控程序,以將第二進(jìn)程轉(zhuǎn)變?yōu)楸O(jiān)控進(jìn)程。
[0148] 優(yōu)選地,在終端的操作系統(tǒng)層對第一進(jìn)程進(jìn)行復(fù)制得到第二進(jìn)程,包括:
[0149] 通過第一進(jìn)程從終端的操作系統(tǒng)層調(diào)用分叉fork方法;
[0150] 設(shè)置第一進(jìn)程在終端的操作系統(tǒng)層通過fork方法對第一進(jìn)程進(jìn)行復(fù)制得到第二 進(jìn)程。
[0151] 優(yōu)選地,設(shè)置第二進(jìn)程運(yùn)行卸載監(jiān)控程序,包括:
[0152] 通過第二進(jìn)程從終端的操作系統(tǒng)層調(diào)用執(zhí)行exec方法;
[0153] 控制第二進(jìn)程通過exec方法運(yùn)行卸載監(jiān)控程序。
[0154] 優(yōu)選地,獲取該應(yīng)用程序在運(yùn)行過程中產(chǎn)生的狀態(tài)數(shù)據(jù),包括;
[0155] 在該監(jiān)控進(jìn)程與該應(yīng)用程序之間建立套接字連接;
[0156] 控該制監(jiān)控進(jìn)程通過該套接字連接獲取該應(yīng)用程序在運(yùn)行過程中產(chǎn)生的狀態(tài)數(shù) 據(jù)。
[0157] 優(yōu)選地,通過該監(jiān)控進(jìn)程監(jiān)控該應(yīng)用程序,包括:
[0158] 通過該監(jiān)控進(jìn)程對文件目錄中該應(yīng)用程序?qū)?yīng)的文件目錄項(xiàng)進(jìn)行實(shí)時(shí)監(jiān)控,以實(shí) 現(xiàn)通過該監(jiān)控進(jìn)程監(jiān)控該應(yīng)用程序。
[0159] 進(jìn)一步地,通過該監(jiān)控進(jìn)程獲取該應(yīng)用程序的卸載信息之前,還包括:
[0160] 如果通過該監(jiān)控進(jìn)程監(jiān)控到該應(yīng)用程序?qū)?yīng)的文件目錄項(xiàng)從文件目錄中刪除,則 判斷該應(yīng)用程序被卸載。
[0161] 優(yōu)選地,該卸載信息包括終端標(biāo)識、該應(yīng)用程序的應(yīng)用標(biāo)識和狀態(tài)數(shù)據(jù)。
[0162] 在本發(fā)明實(shí)施例中,當(dāng)應(yīng)用程序啟動時(shí),在終端的操作系統(tǒng)層創(chuàng)建監(jiān)控進(jìn)程;通過 該監(jiān)控進(jìn)程監(jiān)控該應(yīng)用程序以及獲取該應(yīng)用程序在運(yùn)行過程中產(chǎn)生的狀態(tài)數(shù)據(jù);當(dāng)監(jiān)控出 該應(yīng)用程序被卸載時(shí),通過該監(jiān)控進(jìn)程獲取該應(yīng)用程序的卸載信息;通過該監(jiān)控進(jìn)程將該 應(yīng)用程序的卸載信息發(fā)送給服務(wù)器。由于在終端的操作系統(tǒng)層創(chuàng)建了監(jiān)控進(jìn)程,在該應(yīng)用 程序卸載之后,通過該監(jiān)控進(jìn)程獲取了該應(yīng)用程序的卸載信息,并將該應(yīng)用程序的卸載信 息發(fā)送給服務(wù)器。如此在應(yīng)用程序卸載之后可以使服務(wù)器獲取到該應(yīng)用程序的卸載信息, 進(jìn)而根據(jù)卸載信息分析該應(yīng)用程序的卸載原因以及根據(jù)卸載原因來完善該應(yīng)用程序。
[0163] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀 存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0164] 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種獲取卸載信息的方法,其特征在于,所述方法包括: 當(dāng)應(yīng)用程序啟動時(shí),在終端的操作系統(tǒng)層創(chuàng)建監(jiān)控進(jìn)程; 通過所述監(jiān)控進(jìn)程監(jiān)控所述應(yīng)用程序以及獲取所述應(yīng)用程序在運(yùn)行過程中產(chǎn)生的狀 態(tài)數(shù)據(jù); 當(dāng)監(jiān)控出所述應(yīng)用程序被卸載時(shí),通過所述監(jiān)控進(jìn)程獲取所述應(yīng)用程序的卸載信息; 通過所述監(jiān)控進(jìn)程將所述應(yīng)用程序的卸載信息發(fā)送給服務(wù)器。2. 如權(quán)利要求1所述的方法,其特征在于,所述在終端的操作系統(tǒng)層創(chuàng)建監(jiān)控進(jìn)程,包 括: 通過所述應(yīng)用程序創(chuàng)建一個獨(dú)立于所述應(yīng)用程序的第一進(jìn)程; 在終端的操作系統(tǒng)層對所述第一進(jìn)程進(jìn)行復(fù)制得到第二進(jìn)程; 設(shè)置所述第二進(jìn)程運(yùn)行卸載監(jiān)控程序,以將所述第二進(jìn)程轉(zhuǎn)變?yōu)楸O(jiān)控進(jìn)程。3. 如權(quán)利要求2所述的方法,其特征在于,所述在終端的操作系統(tǒng)層對所述第一進(jìn)程 進(jìn)行復(fù)制得到第二進(jìn)程,包括: 通過所述第一進(jìn)程從終端的操作系統(tǒng)層調(diào)用分叉fork方法; 設(shè)置所述第一進(jìn)程在所述終端的操作系統(tǒng)層通過所述fork方法對所述第一進(jìn)程進(jìn)行 復(fù)制得到第二進(jìn)程。4. 如權(quán)利要求2所述的方法,其特征在于,所述設(shè)置所述第二進(jìn)程運(yùn)行卸載監(jiān)控程序, 包括: 通過所述第二進(jìn)程從所述終端的操作系統(tǒng)層調(diào)用執(zhí)行exec方法; 控制所述第二進(jìn)程通過所述exec方法運(yùn)行卸載監(jiān)控程序。5. 如權(quán)利要求1所述的方法,其特征在于,所述獲取所述應(yīng)用程序在運(yùn)行過程中產(chǎn)生 的狀態(tài)數(shù)據(jù),包括; 在所述監(jiān)控進(jìn)程與所述應(yīng)用程序之間建立套接字連接; 控制所述監(jiān)控進(jìn)程通過所述套接字連接獲取所述應(yīng)用程序在運(yùn)行過程中產(chǎn)生的狀態(tài) 數(shù)據(jù)。6. 如權(quán)利要求1所述的方法,其特征在于,所述通過所述監(jiān)控進(jìn)程監(jiān)控所述應(yīng)用程序, 包括: 通過所述監(jiān)控進(jìn)程對文件目錄中所述應(yīng)用程序?qū)?yīng)的文件目錄項(xiàng)進(jìn)行實(shí)時(shí)監(jiān)控,以實(shí) 現(xiàn)所述通過所述監(jiān)控進(jìn)程監(jiān)控所述應(yīng)用程序。7. 如權(quán)利要求6所述的方法,其特征在于,所述通過所述監(jiān)控進(jìn)程獲取所述應(yīng)用程序 的卸載信息之前,還包括: 如果通過所述監(jiān)控進(jìn)程監(jiān)控到所述應(yīng)用程序?qū)?yīng)的文件目錄項(xiàng)從所述文件目錄中刪 除,則判斷所述應(yīng)用程序被卸載。8. 如權(quán)利要求1所述的方法,其特征在于,所述卸載信息包括終端標(biāo)識、所述應(yīng)用程序 的應(yīng)用標(biāo)識和狀態(tài)數(shù)據(jù)。9. 一種獲取卸載信息的裝置,其特征在于,所述裝置包括: 創(chuàng)建模塊,用于當(dāng)應(yīng)用程序啟動時(shí),在終端的操作系統(tǒng)層創(chuàng)建監(jiān)控進(jìn)程; 監(jiān)控獲取模塊,用于通過所述監(jiān)控進(jìn)程監(jiān)控所述應(yīng)用程序以及獲取所述應(yīng)用程序在運(yùn) 行過程中產(chǎn)生的狀態(tài)數(shù)據(jù); 獲取模塊,用于當(dāng)監(jiān)控出所述應(yīng)用程序被卸載時(shí),通過所述監(jiān)控進(jìn)程獲取所述應(yīng)用程 序的卸載信息,所述卸載信息包括終端標(biāo)識、所述應(yīng)用程序的應(yīng)用標(biāo)識和狀態(tài)數(shù)據(jù); 發(fā)送模塊,用于通過所述監(jiān)控進(jìn)程將所述應(yīng)用程序的卸載信息發(fā)送給服務(wù)器。10. 如權(quán)利要求9所述的裝置,其特征在于,所述創(chuàng)建模塊包括: 創(chuàng)建單元,用于通過所述應(yīng)用程序創(chuàng)建一個獨(dú)立于所述應(yīng)用程序的第一進(jìn)程; 復(fù)制單元,用于在終端的操作系統(tǒng)層對所述第一進(jìn)程進(jìn)行復(fù)制得到第二進(jìn)程; 設(shè)置單元,用于設(shè)置所述第二進(jìn)程運(yùn)行卸載監(jiān)控程序,以將所述第二進(jìn)程轉(zhuǎn)變?yōu)楸O(jiān)控 進(jìn)程。11. 如權(quán)利要求10所述的裝置,其特征在于,所述復(fù)制單元包括: 第一調(diào)用子單元,用于通過所述第一進(jìn)程從終端的操作系統(tǒng)層調(diào)用分叉fork方法; 復(fù)制子單元,用于設(shè)置所述第一進(jìn)程在所述終端的操作系統(tǒng)層通過所述fork方法對 所述第一進(jìn)程進(jìn)行復(fù)制得到第二進(jìn)程。12. 如權(quán)利要求10所述的裝置,其特征在于,所述設(shè)置單元包括: 第二調(diào)用子單元,用于通過所述第二進(jìn)程從所述終端的操作系統(tǒng)層調(diào)用執(zhí)行exec方 法; 運(yùn)行子單元,用于控制所述第二進(jìn)程通過所述exec方法運(yùn)行卸載監(jiān)控程序。13.如權(quán)利要求9所述的裝置,其特征在于,所述監(jiān)控獲取模塊包括; 建立單元,用于在所述監(jiān)控進(jìn)程與所述應(yīng)用程序之間建立套接字連接; 獲取單元,用于控制所述監(jiān)控進(jìn)程通過所述套接字連接獲取所述應(yīng)用程序在運(yùn)行過程 中產(chǎn)生的狀態(tài)數(shù)據(jù)。14.如權(quán)利要求9所述的裝置,其特征在于,所述監(jiān)控獲取模塊,用于通過所述監(jiān)控進(jìn) 程對文件目錄中所述應(yīng)用程序?qū)?yīng)的文件目錄項(xiàng)進(jìn)行實(shí)時(shí)監(jiān)控,以實(shí)現(xiàn)所述通過所述監(jiān)控 進(jìn)程監(jiān)控所述應(yīng)用程序。15.如權(quán)利要求14所述的裝置,其特征在于,所述裝置還包括: 判斷模塊,用于如果通過所述監(jiān)控進(jìn)程監(jiān)控到所述應(yīng)用程序?qū)?yīng)的文件目錄項(xiàng)從所述 文件目錄中刪除,則判斷所述應(yīng)用程序被卸載。16.如權(quán)利要求9所述的裝置,其特征在于,所述卸載信息包括終端標(biāo)識、所述應(yīng)用程 序的應(yīng)用標(biāo)識和狀態(tài)數(shù)據(jù)。
【專利摘要】本發(fā)明公開了一種獲取卸載信息的方法及裝置,屬于互聯(lián)網(wǎng)通信領(lǐng)域。所述方法包括:當(dāng)應(yīng)用程序啟動時(shí),在終端的操作系統(tǒng)層創(chuàng)建監(jiān)控進(jìn)程;通過該監(jiān)控進(jìn)程監(jiān)控該應(yīng)用程序以及獲取該應(yīng)用程序在運(yùn)行過程中產(chǎn)生的狀態(tài)數(shù)據(jù);當(dāng)監(jiān)控出該應(yīng)用程序被卸載時(shí),通過該監(jiān)控進(jìn)程獲取該應(yīng)用程序的卸載信息;通過該監(jiān)控進(jìn)程將該應(yīng)用程序的卸載信息發(fā)送給服務(wù)器。所述裝置包括:創(chuàng)建模塊、監(jiān)控獲取模塊、獲取模塊和發(fā)送模塊。本發(fā)明能夠在應(yīng)用程序卸載之后獲取到該應(yīng)用程序的卸載信息并將卸載信息發(fā)送給服務(wù)器。
【IPC分類】G06F11/36, G06F9/445
【公開號】CN105302589
【申請?zhí)枴緾N201410326664
【發(fā)明人】唐文
【申請人】騰訊科技(深圳)有限公司
【公開日】2016年2月3日
【申請日】2014年7月10日