Advertisement

进程间通信中的父子进程通过共享内存实现案例

阅读量:

1. shmget:共享内存创建函数,用于在内核空间中建立缓存区域

2. shmat:将内核中已创建的缓存映射至用户空间的指定地址

3. shmdt:当内核空间的缓存使用完毕后,用于解除用户空间与内核缓存之间的地址映射关系

4. shmctl:在内核空间的缓存使用结束后,用于释放所占用的共享内存资源

5. ftok:该函数用于生成唯一的key值,该key值作为shmget函数的第一个参数使用。

key值被应用于无亲缘关系进程间的通信,而IPC_PRIVATE则适用于具有亲缘关系的进程间通信。

本节案例描述了一个单向通信过程,其中父进程负责数据写入操作,子进程执行数据读取任务。

复制代码
 root@100ask:/home/book/C_coding/0113# cat shmctl.c

    
 #include "sys/types.h"
    
 #include "sys/shm.h"
    
 #include "signal.h"
    
 #include "unistd.h"
    
 #include "stdio.h"
    
 #include "stdlib.h"
    
 #include "string.h"
    
 void myfun(int signum)

全部评论 (0)

还没有任何评论哟~