11得票3回答
两个线程同时从文件描述符读取数据

我的问题: 在Linux(和FreeBsd以及通常的UNIX中),是否允许/合法同时从两个线程读取单个文件描述符? 我做了一些搜索,但没有找到任何相关内容,尽管很多人询问像读/写socket fd时同时进行读取的问题(意味着一个线程在写入时另一个线程在读取,而不是两个线程都在读取)。我也阅读...

11得票5回答
查找从FILE*或文件描述符中有多少字节可供读取

给定一个 FILE* 或文件描述符,有没有一种标准方法来告诉我们可以读取多少字节? 我不能使用 s=ftell(f),fseek(f,0,SEEK_END),e=ftell(f),fseek(f,s,SEEK_SET),e-s,因为 FILE* 只是从pipe(2)获得的文件描述符的包装器,...

11得票3回答
如何在Rust中从特定的原始文件描述符读取数据?

编辑说明:该问题针对 Rust 1.0 之前的版本。有些答案已经更新以涵盖 Rust 1.0 或更高版本,但不是全部。 我正在使用 Rust 编写一个 systemd 套接字激活服务。我的进程从 systemd 获得了一个打开的文件描述符。 是否有任何 Rust IO 函数可以使用...

11得票5回答
使用文件描述符或变量中的文件名进行Bash重定向

在我的脚本中,我希望能够根据特定条件将内容写入文件或标准输出。我想知道为什么以下代码在我的脚本中不起作用:out=\&1 echo "bird" 1>$out 我尝试了不同的引号组合,但是它仍然创建了一个"&1"文件而不是将内容写入标准输出。我该怎么做才能让它按照我想要的...

11得票2回答
为什么在调用fork()之后,在调用exec...()之前我应该关闭所有文件描述符?如何做到这一点?

我看到很多C代码都试图在调用fork()和调用exec...()之间关闭所有文件描述符。为什么这样做很常见,以及如何在我的代码中以最佳方式执行此操作,因为我已经看到了许多不同的实现?

10得票1回答
使用sendfile()/fcopyfile()从共享内存映射对象复制数据

是否可以并且是否明智使用sendfile()(或其Darwin/BSD衍生版本fcopyfile())在共享内存对象和文件之间直接传输数据? sendfile()和fcopyfile()等函数可以完全在内核空间中执行所有机械必需品,从而实现这种数据传输-当调用这些函数时,您将传递两个打开描述...

10得票2回答
如何获取文件内容的ParcelFileDescriptor?

我使用eclipse-indigo和android 2.3.3_r1,从网络服务器下载一个字符串。它是docx文件的内容。 我可以从这个字符串中得到一个ParcelFileDescritor吗?我猜MemoryFile可以帮助我,因为我在这里和这里看到了它的getParcelFileDesc...

10得票2回答
Windows中的socket和HANDLE有什么区别?

我正在尝试在Windows上运行Linux服务器。 在Linux中,套接字和文件描述符是相同的。 某些系统API可用于套接字和文件描述符。 但是,我通过Winsock处理套接字,通过WIN API处理HANDLE(文件描述符)。 因此,我需要知道整数是套接字还是HANDLE。 现...

10得票1回答
在Android上如何使用文件描述符获取文件路径?

我需要使用通过getFileDescriptor()返回的文件描述符来获取文件的绝对路径。 如何实现呢?

10得票2回答
如何在父子进程间传递socket

我在Linux上的C程序遇到了一个问题。 我知道当一个进程被fork时,子进程会继承一些来自父进程的东西,包括打开的文件描述符。 问题是,我正在编写一个多进程服务器应用程序,其中有一个主进程接受新连接并将描述符放入共享内存中。 当子进程尝试从共享内存中的描述符读取数据时,在select(...