C中的write()函数是阻塞的还是非阻塞的?

Is the write() function in C blocking or non-blocking?

我在 Linux 手册页上查看了答案,但似乎找不到。我知道 read() 正在阻塞,但我仍然不确定 write()。 任何人都可以指出任何文档以进行澄清吗?

read() 上阅读 POSIX 和 write(). See also functions such as open() and pipe().

这取决于您正在读取或写入的文件描述符的属性(例如 O_NONBLOCK),以及基础文件类型(磁盘文件、管道、FIFO、套接字、套接字)字符或块特殊),等等。

简而言之,read()write() 都可以是阻塞式或非阻塞式,视情况而定。