linux利用开发-无名管道编程
1 linux进程间通讯(ipc)
1 UNIX进程间通讯
2 基于System V的通讯
3 POSIX通讯
2 7种通讯方式
1 管道
1个进程在管道的尾部写入数据,另外一个进程从管道的头部
读出数据。管道包括无名管道和着名管道两种,前者只能用
于父进程和子进程间的通讯,后者可用于运行于同1系统中
的任意两个进程间的通讯。
分类:
无名管道(pipo):用于父进程和子进程间的通讯
着名管道(FIFO):用于运行于同1系统中的任意两个进程间的通讯
特点:
1 管道通讯是单向的,有固定的读端和写端。
2 数据被进程从管道读出后,在管道中该数据就不存在了。
3 当进程去读取空管道的时候,进程会阻塞。
4 当进程往满管道写入数据时,进程会阻塞。
5 管道容量为64KB(#define PIPE_BUFFERS 16
include/linux/pipe_fs_i.h)
使用:
在创建子进程前创建管道
3 信号(signal)
4 消息队列
5 同享内存
6 信号量
7 套接字(socket)