,则read返回0
4.如果所有管道读端对应的文件描述符被关闭,则write操作会产生信号SIGPIPE
5.当要写入的数据量不大于PIPE_BUF时,linux将保证写入的原子性。...在上面我们可以看到, 如果我们收到SIGPIPE信号, 那么一般情况就是读端被关闭, 但是写端却依旧尝试写入
咱们来重现下 SIGPIPE
这次执行命令需要考验手速了, 因为我们要赶在py醒过来之前,...将读端进程杀掉
输出结果
从上图我们可以验证两个点:
当我们杀掉读端时, 写端会收到SIGPIPE而默认退出, 管道结束
当我们杀掉读端时, 写端的程序并不会马上收到SIGPIPE, 相反的,...只有真正写入管道写端时才会触发这个错误
如果写入一个 读端已经关闭的管道, 将会收到一个 SIGPIPE, 那读一个写端已经关闭的管道又会这样呢?..., 以及对管道读写规则有了初步的认识, 希望我们以后在工作时, 再接触管道时, 能够更加有把握的去利用这一强大的工具。