问题标签 [file-descriptor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何准确地阅读一行?
我有一个 Linux 文件描述符(来自套接字),我想读一行。如何在 C++ 中做到这一点?
c - 具有自己的文件偏移量的重复文件描述符
如何从现有文件描述符创建新文件描述符,以使新描述符不共享文件表中的相同内部文件结构/条目?具体而言,文件偏移量(最好是权限、共享和模式)等属性不应在新旧文件描述符之间共享。
在 Windows 和 Linux 下,dup()
都会复制文件描述符,但两个描述符仍然指向进程文件表中的相同文件结构。对任一描述符的任何搜索都将调整其他描述符的位置。
笔记
从那以后,我收到了 Windows 和 Linux 的答案,并且过于频繁地调整了这个问题,这让人们很难回答。我将调整我的投票并接受涵盖 Windows和Linux 的最干净的答案。向所有人道歉,我对 SO 范式仍然很陌生。感谢您的精彩回答!
c - 关于在c中更改文件描述符编号的问题
我的问题是如何更改下面的程序,以便它在命令行上使用文件描述符编号而不是文件名?任何帮助将不胜感激。谢谢你。
c - 在没有 read() 的情况下清空或“刷新”文件描述符?
(注意:这不是如何刷新 a 的问题write()
。可以这么说,这是它的另一端。)
是否可以清空包含要读取的数据的文件描述符而不必这样read()
做?您可能对数据不感兴趣,因此阅读所有数据会浪费您可能有更好用途的空间和周期。
如果在 POSIX 中不可能,是否有任何操作系统有任何不可移植的方法来做到这一点?
更新:请注意,我说的是文件描述符,而不是流。
java - IOException:打开的文件太多
我正在尝试在 Linux 上的 Jetty 7.0.1 中运行的 Java webapp 中调试文件描述符泄漏。
该应用程序已经愉快地运行了一个月左右,但由于打开的文件过多,请求开始失败,不得不重新启动 Jetty。
起初我认为问题出在启动外部程序的代码上,但它使用的是commons-exec,我看不出有什么问题:
列出服务器上打开的文件我可以看到大量的 FIFO:
Jetty 启动时只有 10 个 FIFO,几天后就有数百个。
我知道在这个阶段有点含糊,但是您对下一步看哪里有什么建议,或者如何获得有关这些文件描述符的更详细信息?
python - 使用带有文件描述符的 Python Twisted 的示例
我希望使用 twisted 来控制主进程和一组从进程之间跨 Linux 管道(os.pipe())和 fifos(os.mkfifo())的通信。虽然我很肯定,可以将twisted 用于这些类型的文件描述符(毕竟,twisted 非常适合*nix 抽象为文件描述符的tcp 套接字),但我找不到这种用法的任何示例。有人有任何链接、示例代码或建议吗?
windows - Perl 文件描述符如何在 Windows 上工作?
Windows 是否支持文件描述符?为什么使用 fds 在 Perl 中“似乎工作”?
诸如“fileno”、“dup”和“dup2”之类的东西正在工作,但随后在其他一些环境中随机停止工作。很难提供详细信息,主要是我正在寻找经验丰富的 Windows 程序员的答案以及文件描述符如何在 Windows 上工作/不工作。
我猜想是 PerlIO 层在玩游戏并让它看起来好像文件描述符工作,但这只是一个猜测。
正在发生的事情的例子:
第二行 die()s 但仅在某些情况下(我尚未确定)。
python - 将stderr重定向到python执行进程上的stdout?
在 bash 脚本中,我可以编写:
并且 stderr 的输出someprog
将被重定向到 stdout。
有没有办法使用 python 的os.exec*
函数做类似的事情?
这不必是可移植的,只需在 Linux 上工作即可。
tcp - 现代 Linux 机器可以拥有的打开 TCP 连接的理论最大数量是多少
假设硬件性能无限,Linux 机器能否支持 >65536 个打开的 TCP 连接?
我了解临时端口的数量(<65536)限制了从一个本地 IP 到一个远程 IP 上的一个端口的连接数。
元组(本地 ip,本地端口,远程 ip,远程端口)是唯一定义 TCP 连接的东西;这是否意味着如果这些参数中的一个以上可用,则可以支持超过 65K 的连接。例如,从多个本地 IP 连接到多个远程主机上的单个端口号。
系统中是否还有 16 位限制?也许文件描述符的数量?
c - 文件描述符和文件指针有什么区别?
我想知道文件描述符和文件指针之间的区别。
另外,在什么情况下您会使用其中一种而不是另一种?