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

新聞中心

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

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

作者: 時間:2016-10-08 來源:網絡 收藏
               #include sys/ptrace.h>
               #include sys/wait.h>
               #include linux/user.h>
               #include sys/socket.h>
               #include sys/un.h>
               #include linux/net.h>

為了在程序中使用 ptrace 系統調用,我們需要增加 ptrace.h 頭文件。為了能夠獲得截獲的系統調用的函數入參,我們需要使用 struct user_regs_struct 結構。它在 user.h 中被定義。由于在程序中使用了信號,因此,我們也需要 wait.h 。我們要監視通信動作, socket.h 和 un.h 則是必不可少的。

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

下面是程序的入口主函數:

        int main (int argc, char *argv[])
        {
            int status;
            int syscall_entry = 0;
            int traced_process;
            struct user_regs_struct u_in;

status 用于記錄被監視進程的狀態變化; syscall_entry 記錄被監視進程當前是進入系統調用,還是從系統調用中返回; u_in 用來獲得截獲的系統調用的參數; traced_process 則是被監視進程的 PID 值。

                 traced_process = atoi(argv[1]); /* 從命令行得到監視進程的PID */
                 ptrace(PTRACE_ATTACH, traced_process, NULL, NULL);                           
    				
                
                    
    			
    							

    關鍵詞:

    評論


    相關推薦

    技術專區

    <sub id="bz9dy"></sub>
    <cite id="bz9dy"><track id="bz9dy"></track></cite>

    <p id="bz9dy"><menu id="bz9dy"></menu></p>
        <u id="bz9dy"></u>