新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式系統(tǒng)中進程間通信的監(jiān)視方法

嵌入式系統(tǒng)中進程間通信的監(jiān)視方法

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

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

本文引用地址:http://butianyuan.cn/article/201610/305865.htm
                 While (1) {
                     /* 等待被監(jiān)視程序調用系統(tǒng)調用或是發(fā)生其它狀態(tài)變化 */
                     wait(status); 
                     
                     /* 如果被監(jiān)視進程退出,函數(shù)返回真。程序退出 */
                     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);
                         }                           
    				
                
                    
    			
    							

    關鍵詞:

    評論


    相關推薦

    技術專區(qū)

  • <kbd id="8hvui"><em id="8hvui"></em></kbd>