久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統中進程間通信的監視方法

嵌入式系統中進程間通信的監視方法

作者: 時間:2016-10-08 來源:網絡 收藏
             wait(status);    /* 等待被監視進程狀態變化 */
             ptrace(PTRACE_SYSCALL, traced_process, NULL, NULL);

參數為 PTRACE_ATTACH 的 ptrace 對被監視進程在內核中的進程結構進行修改。使被監視進程成為當前程序的子進程。一旦被監視進程的狀態發生變化, wait() 將返回。程序再次調用 ptrace 。這次的參數為 PTRACE_SYSCALL 。被監視進程的進程結構再次被修改,其 trace 標志被激活。內核將在被監視進程的每一次系統調用時,觸發當前程序的運行。

本文引用地址:http://cqxgywz.com/article/201610/305865.htm

             While (1) {
                 /* 等待被監視程序調用系統調用或是發生其它狀態變化 */
                 wait(status); 
                 
                 /* 如果被監視進程退出,函數返回真。程序退出 */
                 if ( WIFEXITED(status) ) 
                     break;
                 
                 ptrace(PTRACE_GETREGS, traced_process, 0, u_in);
                 if (u_in.orig_eax == 102  u_in.ebx == SYS_SENDTO) { 
                     if (syscall_entry == 0) {  /* syscall entry */
                         insyscall = 1;
                         printf(call sendto()n);
                     }                           
				
            
                
			
							

關鍵詞:

評論


相關推薦

技術專區

        <sub id="e6ujl"></sub>