可能在大家是试验中或者工作经验中, 应该是左边的命令全部处理完再一次性交给右边的命令进行处理, 不光是大家, 我在最初接触管道时, 也曾有这么一个误会, 因为我们通过现象看到的就是这样。...,则read返回0
4.如果所有管道读端对应的文件描述符被关闭,则write操作会产生信号SIGPIPE
5.当要写入的数据量不大于PIPE_BUF时,linux将保证写入的原子性。...在上面我们可以看到, 如果我们收到SIGPIPE信号, 那么一般情况就是读端被关闭, 但是写端却依旧尝试写入
咱们来重现下 SIGPIPE
这次执行命令需要考验手速了, 因为我们要赶在py醒过来之前,...只有真正写入管道写端时才会触发这个错误
如果写入一个 读端已经关闭的管道, 将会收到一个 SIGPIPE, 那读一个写端已经关闭的管道又会这样呢?...在上面也已经证明了上文提到的读写规则: 如果所有管道写端对应的文件描述符被关闭,将产生EOF结束标志,read返回0, 程序退出
总结
通过上面的理论和实验, 我们知道在使用管道时, 两边命令的数据传输过程