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