对于有名管道(FIFO),我们来逐一分析每个选项:
A. 读写两端都open后, close掉读端, 写管道, 管道破裂
- 这是真的。如果写入端关闭时,没有读取端存在,有名管道会导致 SIGPIPE 信号,从而造成写操作失败。
B. 读写两端都open后, close掉写端, 读管道, 没有数据时立即返回
- 这是错误的。关闭了写端后,如果读取时没有数据,则读取操作会返回0,而不是立即返回,这表示已经没有更多数据可供读取。
C. 读写两端都存在, 写管道, 直到写满64K时,再写会管道破裂
- 这也是不正确的描述。在有名管道中,当达到最大容量(通常是64KB)时,再尝试写入将会阻塞等待直到有空间可用,而不会立即破裂。
D. 与无名管道一样,都不可以使用lseek定位光标
- 这是真实的。有名管道和无名管道都是流式接口,不支持随机访问,因此不能使用
lseek
。
综上所述,对于“描述不正确”的说法:
- B选项和C选项都有不准确之处,但根据标准定义,B选项是更常见的不正确说法,因为它涉及到未处理状态的具体行为。
因此,如果只选择一个不正确的描述,我建议选择B。
内容由零声教学AI助手提供,问题来源于学员提问