gpt4 book ai didi

linux - 文件描述符何时准备好读取?

转载 作者:太空宇宙 更新时间:2023-11-04 11:56:39 24 4
gpt4 key购买 nike

我是 Linux 的初学者,仍在努力理解文件描述符和读取文件。我的教科书说:

“当且仅当从该描述符读取 1 个字节的请求不会阻塞时,描述符 k 才准备好读取”

假设一个磁盘文件有 20 个字节,我刚刚打开这个文件并准备读取它,所以它有一个文件描述符(假设 fd 是 3)。那么什么情况下这个文件描述符没有1字节可读呢?是不是像我第一次读取20个字节,然后再尝试读取另外20个字节会阻塞?谁能给我一个这个例子的场景。谢谢

最佳答案

磁盘文件总是准备好读取,它从不阻塞。当您打开文件时,它将准备就绪,您将读取 20 个字节。之后,您将读取 EOF(由返回长度 0read() 指示)。

“ready to read”的概念适用于异步设备,例如终端和网络套接字。在用户输入内容之前,终端不会准备好读取(如果终端处于正常的“熟”模式,则当他们使用 Enter 或 EOF 键击发送它时)。当从远程计算机接收到数据时,网络套接字将准备好读取。

关于linux - 文件描述符何时准备好读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54100744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com