- 4
- 0
- 约9.85千字
- 约 51页
- 2018-03-27 发布于浙江
- 举报
[工学]linux进程间通信
第4章 Linux进程管理(续) 进程间通信 高级进程间通信 锁、信号量及其P、V操作只能在各进程间传送一些简单信息,信息量很小。进程间进行大量的信息传输和交换需要借助其它机制。 进程间常用的通信机制: Linux管道通信 IPC消息队列 IPC共享内存 IPC信号量集 4.6 Linux管道 4.6.1 管道的概念 管道(pipeline)是连接读写进程的一个特殊文件,允许进程按先进先出方式传送数据,也能使进程同步执行操作。 发送进程以字符流形式把大量数据送入管道,接收进程从管道中接收数据,所以叫管道通信 OS使用文件系统方法管理管道,但管道不使用外存,而使用物理内存存放传送的数据。 4.6.2 无名管道 应用实例: 实现Linux的管道命令,如: $ ls –p | more CR 实现父子进程间通信 创建和读写方法 1) 创建无名管道 int pipe(int fd[2]) 功能:在fd中返回管道的2个文件描述符,fd[0]为读端,fd[1]为写端; 2) 读管道,与读文件相同 int read( int fd,void *buf,size_t nbytes) 3)写管道,与写文件相同 int write(int fd,void *buf,size_t nbytes) 4) 复制文件描述符 int dup(int fd) 功能:使用最小的文件描述符复制指定的文
原创力文档

文档评论(0)