Linux下进程管道通信.pptxVIP

  • 6
  • 0
  • 约小于1千字
  • 约 10页
  • 2017-07-05 发布于四川
  • 举报
Linux下进程管道通信实验 Linux小组 函数介绍 pipe(int*) 用来创建管道的函数 接受一个指向两个元素整型数组指针,其中这个整形数组的第0个元素存着当前管道的读标志(读取端),第1个元素存着当前管道的写标志(写入端)。 函数介绍 fork() 创建子进程 fork创建的进程会将程序当前都状态复制一份,同时运行到(或者说,运行状态,即程序的PC)fork函数都返回点,主程序返回值是子程序都PID,子程序返回值是0,我们可以借此判断是在子进程里面,还是在父进程里面。 函数介绍 close(int) 关闭管道的一端 如果传入的是管道的写入端,那么就结束了管道的输入,不能再写入管道了(仅当前进程)。 当所有进程都关闭呃写入,那么相当于管道里面有个EOF(-1)标志,否则,读者会一直等待,所以,写完了一定要关掉,主进程里面也要,否则读者不会停止的(会等到花儿都谢了)。 如果传入的是管道的读取端,则关闭管道的读取,不能再读取,也不会等待。如果所有的管道都被关掉了,那么写者想要写入的时候,就会得到错误(SIGPIPE信号,也是-1)。 函数介绍 write(int pipe_w,void * buf,int size) 往管道pipe_w里面写入buf指针指向的size个字节。 如果所有的出口管道都已经被关闭了,返回-1的错误 函数介绍 read (int pipe_r,void

文档评论(0)

1亿VIP精品文档

相关文档