新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式系统中进程间通信的监视方法

嵌入式系统中进程间通信的监视方法

作者: 时间:2016-10-08 来源:网络 收藏
             wait(status);    /* 等待被监视进程状态变化 */
             ptrace(PTRACE_SYSCALL, traced_process, NULL, NULL);

参数为 PTRACE_ATTACH 的 ptrace 对被监视进程在内核中的进程结构进行修改。使被监视进程成为当前程序的子进程。一旦被监视进程的状态发生变化, wait() 将返回。程序再次调用 ptrace 。这次的参数为 PTRACE_SYSCALL 。被监视进程的进程结构再次被修改,其 trace 标志被激活。内核将在被监视进程的每一次系统调用时,触发当前程序的运行。

本文引用地址:https://www.eepw.com.cn/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);
                     }                           
				
            
                
			
							

关键词:

评论


相关推荐

技术专区