管道和重定向问题,创建自己的 shell
我正在尝试在 c 中重新创建“|”和“>”的 shell 实现(bash --posix)。 但我很难找到 fd 的问题。当我执行以下命令时:echo heyy |厕所> txt.txt | …
Linux 套接字的文件描述符总是按升序排列吗
我有一个 C/linux 中的套接字服务器。每次创建新套接字时,都会为其分配一个文件描述符。我想使用这些 FD 作为每个客户端的唯一 ID。如果保证它们始终…
默认文件描述符表无法正常工作
我在使用文件描述符时遇到一些问题。对于每个进程,POSIX 兼容系统上的标准 fd 表应将 stdin 设为 0、stdout 设为 1、stderr 设为 2。此后,应按顺序…
如何恢复标准输出的文件描述符?
我需要帮助来理解文件描述符 所以这是我的代码: int main() { char ch; close(1); //now opening a file so that it gets the lowest possible fd i.…
我是否理解 Unix 文件描述符在 C 中的工作原理?
下面的简短程序旨在迭代从命令行传递的 argv 并执行每个参数。这不是我的作业,而是我在准备做作业时所做的事情。 第一个参数从 STDIN 和 STDOUT 获取…
在 Windows 上通过 ctypes 将文件描述符传递给 C 库函数
我试图通过 ctypes 将文件描述符传递给在 fd 上执行写入的 C 函数。在linux上它可以工作。在 Windows 上它不会,我不明白为什么(我没有作为 Windows …
套接字文件描述符是否> FD_SETSIZE 在 OS X 上有效吗?
在 OS X 上,我们发现调用 ::socket(...) 有时会返回大于 FD_SETSIZE 的文件描述符。根据 ::socket(...) 的文档,这是一个成功的请求,因为只有返回值…
Node.js FIFO - 写入文件描述符时进程挂起
我有以下 Node.js 代码: var fs=require('fs'); var util=require('util'); var n2c=fs.createReadStream('./n2c'); var c2n=fs.createReadStream('.…
POSIX 文件描述符和 C 文件的交互
我正在阅读 POSIX 规范,但我无法完全理解如何文件描述符、文件描述和流相互作用。 FILE* f1 = fopen("a.txt", "r"); int fno = fileno(f1); FILE* f2…