C语言:2.6进程间通信.pptVIP

  • 12
  • 0
  • 约4.25千字
  • 约 36页
  • 2017-08-09 发布于河南
  • 举报
pipe 最早的一种进程间通信方式 半双工方式,某些平台现实支持全双工 只能在有共同祖先的进程之间使用,一般是父子进程 创建出管道后,调用fork产生新进程,在父子进程间使用 shell命令中的管道:ls | grep “music” pipe int pipe(int filedes[2]) 创建一个管道,生成两个文件描述符 filedes[0]用于读,filedes[1]用于写 正确返回0 错误返回-1 fstat可以返回管理描述符类型,用S_ISFIFO测试 pipe pipe pipe 建立从父进程到子进程的管道 父进程关闭读端口filedes[0] 子进程关闭写端口filedes[1] pipe 如果一个管道的写端口关闭了,读操作返回0 可以复制写描述符,让多个进程向同一个管道里面写 如果一个管道的读端口关闭了 写操作返回1,errno设置为EPIPE 产生SIGPIPE信号 多个进程写一个管道,如果我们写的数据小于PIPE_BUF 数据相互之间不会交叉;否则就可能交叉 利用管道同步进程 演示pipesyn pipe FILE *popen(const char *cmdstring, const char *type) int pclose(FILE *fp) 创建管道,产生进程,关闭管道无用的端口,调用shell执行程序,并等结束 t

文档评论(0)

1亿VIP精品文档

相关文档