22得票4回答
坏的文件描述符

我正在学习文件描述符,我写了这段代码:#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> int fdrd, fdwr, fdwt; cha...

22得票1回答
C的printf和fprintf(stdout)没有输出内容

这有点奇怪。我的代码没有输出我预期的内容。我在不同阶段添加了一些打印语句来查看哪里出错了。但仍然没有输出。 所以我在main函数开始处添加了一个printf语句,这让我感到非常困惑。 因此,我认为文件描述符可能出了问题。我把printf改成了fprintf。但仍然没有输出。使用fprintf打...

22得票1回答
如何模拟文件描述符不足?

我希望引发一种没有文件描述符剩余的情况。 我一直在考虑两种可能性: 1.随机打开数千个文件,直到open的结果为-1。 2.设置非常低的可用文件描述符数量(比如标准输入、标准输出和标准错误)。 你会怎么做?

21得票5回答
文件描述符可能的取值是什么?

我希望了解文件描述符可以期望的有效值。 请允许我解释一下。我知道,在我的Linux系统上使用#include <unistd.h>时,调用打开文件进行读取:int fileDescriptor; fileDescriptor = open("/some/filename",O_R...

21得票2回答
文件描述符的“异常”是什么?

当调用select()函数查询哪些文件描述符有“异常”等待时,这意味着什么? 如何触发其中一个“异常”? 如果有人能为我提供一个好的解释,那就太棒了。我一直在谷歌上搜索,但找不到任何信息。

21得票3回答
为什么UNIX文件描述符没有使用它们自己的类型实现,特别是在C++中?

我最近使用了大量的文件描述符,我一直在思考它们为什么被实现成整数? 这意味着它们很容易与其他整数混淆,并且没有办法在没有上下文的情况下知道它们是什么、指向什么、是否打开等等。 在 C 语言中,FILE 是一个不透明的结构体类型。许多人也使用 typedef 将例如 status_t 定义为...

21得票1回答
执行exec命令是否会保留文件描述符?

这实际上是一个两步问题: 文件描述符到底是什么?我觉得它是表示打开文件的最基本方式。但是由于dup2可以使两个不同的文件描述符指向同一个文件,那么到底是什么表示唯一的文件呢? 如果在exec之前进行dup2,整个程序会被清除,那么它的文件描述符表还是原来的吗?重定向后的文件描述符是否依然有效?

21得票4回答
从std :: fstream中检索文件描述符

可能是重复问题: 从std::fstream获取FILE* 我在Linux上工作,文件描述符是该操作系统的主要模型。 我想知道是否有任何库或任何方法可以从C ++的std:: fstream中检索本机Linux文件描述符。 我考虑过boost :: iostream,因...

20得票4回答
为什么操作系统限制文件描述符数量?

在尝试研究实现消息队列服务器的最佳方式后,我提出了这个问题。为什么操作系统会对进程和全局系统可以拥有的打开文件描述符数量设限呢? 我目前的服务器实现使用zeromq,并为每个连接的websocket客户端打开一个订阅器socket。显然,单个进程只能处理到达fd上限数量的客户端。 当我研究这个...

19得票3回答
两个文件描述符指向同一文件

使用posix read()和write()的linux调用,如果我通过一个文件描述符写入并通过另一个文件描述符串行读取,这两个动作是互相排斥的,那么我的读取文件描述符是否保证总是能够看到由写入文件描述符最后写入的内容? 我相信这是正确的,但我想确认一下,man页面对此并没有提供很有帮助的信息。