新聞中心

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

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

        作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏
                       #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 系統(tǒng)調(diào)用,我們需要增加 ptrace.h 頭文件。為了能夠獲得截獲的系統(tǒng)調(diào)用的函數(shù)入?yún)ⅲ覀冃枰褂?struct user_regs_struct 結(jié)構(gòu)。它在 user.h 中被定義。由于在程序中使用了信號,因此,我們也需要 wait.h 。我們要監(jiān)視通信動作, socket.h 和 un.h 則是必不可少的。

        本文引用地址:http://www.104case.com/article/201610/305865.htm

        下面是程序的入口主函數(shù):

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

        status 用于記錄被監(jiān)視進(jìn)程的狀態(tài)變化; syscall_entry 記錄被監(jiān)視進(jìn)程當(dāng)前是進(jìn)入系統(tǒng)調(diào)用,還是從系統(tǒng)調(diào)用中返回; u_in 用來獲得截獲的系統(tǒng)調(diào)用的參數(shù); traced_process 則是被監(jiān)視進(jìn)程的 PID 值。

        <kbd id="oc0em"></kbd><kbd id="oc0em"><tbody id="oc0em"></tbody></kbd>
                     traced_process = atoi(argv[1]); /* 從命令行得到監(jiān)視進(jìn)程的PID */
                     ptrace(PTRACE_ATTACH, traced_process, NULL, NULL);                           
        				
                    
                        
        			
        							

        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        主站蜘蛛池模板: 洞头县| 鄱阳县| 莒南县| 武义县| 茂名市| 普兰店市| 天气| 灌南县| 周宁县| 延寿县| 弋阳县| 元阳县| 吴堡县| 巢湖市| 诸暨市| 云霄县| 炉霍县| 隆子县| 聂荣县| 大化| 容城县| 兴隆县| 白城市| 霍州市| 广东省| 马鞍山市| 南和县| 陕西省| 葫芦岛市| 新源县| 乾安县| 白河县| 吴桥县| 连云港市| 饶平县| 宝山区| 临夏市| 云林县| 灵寿县| 金堂县| 泗洪县|
        <samp id="oc0em"><tbody id="oc0em"></tbody></samp>
        <samp id="oc0em"><tfoot id="oc0em"></tfoot></samp>
        • <samp id="oc0em"></samp>
          <ul id="oc0em"></ul>