2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Linux:进程间通信(创建匿名管道 父子进程间通信 兄弟进程间通信)

Linux:进程间通信(创建匿名管道 父子进程间通信 兄弟进程间通信)

时间:2022-10-19 04:38:42

相关推荐

Linux:进程间通信(创建匿名管道 父子进程间通信 兄弟进程间通信)

过一遍管道的基础知识:

1.本质:存在于高速缓存区,属于伪文件,不占用磁盘空间。缓冲区大小默认4K,可根据实际情况适当调整

2.读端和写端各自对应一个文件描述符,数据从写端流入,读端流出

3.操作管道的进程被销毁之后,管道占用的内存空间自动被释放

4.管道默认阻塞

5.内部实现方式:循环队列 (先进先出),属于半双工。数据只能读一次,不能重复读取

6.匿名管道创建:int pipe(int pipefd[2]);(适用于有血缘关系的进程)

fd - - 传出参数

fd[0] - - 读端

fd[1] - - 写端

7.单个进程可以使用管道完成读写操作

8.父子进程间通信不需要sleep函数(使父进程写的慢,子进程读的快)

先实现一个简单的匿名管道:(编译环境:Ubuntu 18.04 Vim)

#include <stdio.h> #include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <string.h>#include <fcntl.h>int main(int argc,char *argv[]){int fd[2];int ret = pipe(fd);if(ret == -1){printf(

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。