进程间通信:
1使用管道进行进程间的通信
(1)有名管道
mkfifo xxx.pipe
(2) 无名管道
int pipe(int pipefd[2]);
文件描述符 pipefd[0]代表读端,pipefd[1]代表写端
2. 使用共享内存实现进程间的通信
步骤:
获取key值,使用ftok函数
创建、获取共享内存,使用shmget函数
接挂共享内存,使用shmat函数
使用共享内存
脱接共享内存,使用shmdt函数
如不在使用则删除共享内存,使用shmctl函数
3. 信号量集实现进程间的通信
流程:
使用key值,使用ftok函数
创建、获取信号量集,使用semget函数
初始化信号量集, 使用semop函数
操作信号量集,使用semop函数
如果不在使用,则删除信号量集,使用semctl函数
相关的函数解析;
时间: 2024-10-30 06:09:41