1.管道容量
管道容量分为 pipi capacity 和 pipe_buf,这两者的区别在于 pipe_buf 定义的是内核管道缓冲区的大小,这个值的大小是由内核设定的,这个值仅需一条命令就可以查到,而 pipe capacity 指的是管道的最大值,即容量,是内核内存中的一个缓冲区。
pipe_buf 命令:ulimit -a
管道容量:sizeof(pipe_buf)= 512 bytes * 8 = 4kb
pipi capacity:
当管道满的时候 O_NONBLOCK disable: write 调用阻塞,直到有进程读走数据