欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

4. 卷2(进程间通信)---管道和FIFO

程序员文章站 2022-05-14 08:06:15
...

4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

如果调用进程即没有捕获也没有忽略 SIGPIPE信号,那么默认行为就是终止该进程。
如果调用进程捕获或者忽略了 SIGPIPE 信号,那么write返回一个 EPIPE 错误。
内核为 管道和 fifo 维护一个访问计数器,删除的话,先前打开的不受影响。

设置非阻塞: open(fd,O_WRONLY|O_NONBLOCK,1)
如果是已经打开的文件描述符用 :
flags = fcntl(fd,FD_GETFL,flags) ;
flags |= O_NONBLOCK ;
fcntl(fd,FD_SETFL,flags) ;
1.如果请求的数据多余管道里面的,只返回管道里面可用数据量
2.如果写入的数据 <= PIPE_SIZE ,那么 write 保证是原子操作(这意味着,如果2write 同时发生,
要么1先写入,2再写入,或者相反。系统不会混杂数据)。如果写入数据 > PIPE_SIZE 那么不能保证原子性。
3.O_NONBLOCK标志对write操作原子性没有影响,但返回的字节数取决于待写的字节数以及管道内当前可用空间大小。
  <= PIPE_SIZE : 如果有足够空间则写入,
                 没有足够空间,立即返回一个 EAGAIN错误。既然设置了O_NONBLOCK就表明调用进程不希望自己被投入睡眠中,但内核无法在接受部分数据的同时仍然保证原子性,于是返回一个错误。
  > PIPE_SIZE : 如果有至少大于1的空间,就写入,返回该空间大小。
                如果已经满了,返回一个 EAGAIN 错误。

3.如果向一个没有为读打开着的管道或者fifo写入,那么内核将产生一个 SIGPIPE 信号

1.概述
4. 卷2(进程间通信)---管道和FIFO

2.一个简单的客户-服务器例子
4. 卷2(进程间通信)---管道和FIFO

3.管道
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

4.全双工管道
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

  1. popen 和 pclose 函数
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO

  2. FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO

7.管道和 FIFO 的额外属性
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

8.单个服务器,多个客户
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

  1. 对比迭代服务器与并发服务器
    4. 卷2(进程间通信)---管道和FIFO
    4. 卷2(进程间通信)---管道和FIFO

10.字节流与消息
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

11.管道和 FIFO 限制
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO
4. 卷2(进程间通信)---管道和FIFO

相关标签: 通信