其实开心好简单 最紧要好玩
进程通信方式之管道
int pipe(int pipefd[2]);//创建无名管道pipe
int mkfifo(const char *pathname, mode_t mode);//创建有名管道文件
int access(const char *pathname, int mode);//检查指定文件权限或是否存在
进程间通信方式
管道——无名管道/匿名管道
- 它只能作用于亲缘进程(匿名管道的创建他使用pipe创建,诞生出两个操作管道读写端的文件描述符,只有创建子进程的时候才会被继承过去,无法通过别的方式打开同一个管道)
- 半双工通信(在读的时候不能写入,在写入的时候不能读取)
- 操作无原子性
- 无法用lseek定位操作位置
无名管道相关API
int pipe(int pipefd[2]);//创建无名管道pipe
#include <unistd.h>
int pipe(int pipefd[2]);
Linux进程通信:匿名管道与有名管道详解

本文介绍了Linux系统编程中的进程通信方式,重点讲解了无名管道(匿名管道)和有名管道(FIFO)的概念、API及应用场景。无名管道适用于亲缘进程的一对一通信,有名管道则允许任意进程间进行通信。文中详细解析了`pipe()`、`mkfifo()`和`access()`等关键函数的使用,并讨论了它们的特性,如半双工、全双工、原子性等。
最低0.47元/天 解锁文章
907

被折叠的 条评论
为什么被折叠?



