Linux进程通信之匿名管道
16lz
2021-01-22
进程间的通信方式
进程间的通信方式包括,管道、共享内存、信号、信号量、消息队列、套接字。
进程间通信的目的
进程间通信的主要目的是:数据传输、数据共享、事件通知、资源共享、进程控制等。
进程间通信之管道
管道(pipe):这种通讯方式有两种限制,一是半双工的通信,数据只能单向流动,二是只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
流管道(s_pipe): 去除了第一种限制,可以双向传输。
命名管道(name_pipe):克服了管道没有名字的限制,还允许无亲缘关系进程间的通信。
Linux进程间通信机制
管道的创建
pipe函数创建一个通信缓冲区,程序可以通过文件描述符fildes[0]和fildes[1]来访问这个缓冲区。返回值:成功返回0,错误返回-1。
#include<unistd.h> int pipe(int fd[2]);
更多相关文章
- linux 如何结束进程
- Linux进程间通信—— 内存映射
- linux的0号进程和1号进程
- 守护进程的单实例实现
- Linux网络编程-客户端与服务器端通信(Echo)
- Linux C语言实现的Socket通信
- Linux系统编程——进程间通信:信号中断处理
- Linux进程间通信(二):信号集函数 sigemptyset()、sigprocmask()、si
- IO流在fork()的ed进程中