问题标签 [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.
python - 在python中更改套接字的文件描述符
我正在尝试手动创建与 python 中的套接字关联的文件描述符,然后使用 mmap 直接加载到内存中。使用 mmap 在内存中创建文件很简单,但我找不到将文件与套接字关联的方法。
感谢您的回复。
我遇到的问题是我无法为 python(或操作系统)创建更多的套接字,我收到错误消息:“[errno 24] 打开的文件太多。”
我认为错误是因为我无法在磁盘上创建更多文件描述符,所以我想在内存中创建它们。为了避免这种限制。
有什么建议么?
c - C:标准输入和标准*错误
我想操纵Stdin
然后Std*
. 但我收到以下错误,
该程序如下所示。
更新的错误:只是试图让一个关于文件描述符的示例程序在 C 中工作,错误报告非常丢失
程序执行如下图所示。
python - 如何在python中将文件描述符从父级传递给子级?
我正在使用多处理模块,并使用池来启动多个工作人员。但是在父进程中打开的文件描述符在工作进程中是关闭的。我希望他们开放..!有没有办法传递文件描述符以在父子之间共享?
c - C:如何将标准错误从系统命令重定向到标准输出或文件?
shell 命令将$ avrdude -c usbtiny
文本输出到标准错误。我无法使用诸如 head-less-more 之类的命令来阅读它,因为它不是标准输出。我想要文本到标准输出或文件。我怎样才能在C中做到这一点?我试图通过我的最后一个问题来解决问题,但仍未解决。
c++ - fopen 问题 - 打开的文件太多
我有一个在 Win XP 上运行的多线程应用程序。在某个阶段,一个线程无法使用 fopen 函数打开现有文件。_get_errno 函数返回 EMFILE,这意味着打开的文件太多。没有更多的文件描述符可用。我的平台的 FOPEN_MAX 是 20。_getmaxstdio 返回 512。我用 WinDbg 进行了检查,发现大约有 100 个文件处于打开状态:
fopen 失败的原因是什么?
编辑:
我编写了简单的单线程测试应用程序。这个应用程序可以打开 510 个文件。我不明白为什么这个应用程序可以打开比多线程应用程序更多的文件。可能是因为文件句柄泄漏吗?
javascript - 如何检查 node.js 中打开的连接数?
我有一台运行 node.js (v0.1.32) 的机器,带有一个 tcp 服务器 (tcp.createServer) 和一个 http 服务器 (http.createServer)。http 服务器受到来自基于彗星的应用程序在端口 80 上的长轮询请求(每个持续 50 秒)的影响。并且出于相同目的,来自 iphone 应用程序的端口 8080 上有 tcp 套接字连接。
发现服务器有一段时间无法处理更多的连接(尤其是tcp连接而http连接看起来很好!!??),只有在重新启动后才正常。
为了对连接进行负载测试,我创建了一个 tcp 服务器并产生了 2000 个请求,并发现在达到机器上的最大文件描述符限制(默认 1024)后连接开始失败。这是一个非常小的数字。
所以,这里有一个新手问题:如何扩展我的应用程序以处理 node.js 上的更多连接以及我如何处理这个问题。
有没有办法找出目前有多少活动连接?
谢谢谢里夫
c - 如何确定文件描述符是否可搜索?
是否有任何可移植的方式(在 POSIX 系统上)来确定文件描述符是否可查找?我的想法是使用lseek(fd, 0, SEEK_CUR);
并检查返回值是否为-1,但我不确定这是否会产生误报或误报。使用fstat
和假设哪些类型的文件是可搜索/不可搜索的,这听起来不是一个好主意。还有其他想法吗?
locking - 确保文件在尝试删除时未更改
在 POSIX 环境中,我想从磁盘中删除一个文件,但在删除它之前计算它的校验和,以确保它没有被更改。锁够了吗?我应该打开它,取消链接,计算校验和,然后关闭它(这样操作系统就可以删除它的 inode)吗?有什么方法可以确保没有其他进程在文件上有打开的文件描述符?
为了提供一些上下文,代码执行跨主机的文件同步,如果远程主机删除文件但文件正在本地更改,则有可能丢失数据。
file - 是否需要文件描述符控制程序/系统调用?
我目前正在考虑以某些 BSD 风格实现系统调用,以关闭给定的文件描述符。文件描述符将被定义为一对 PID 和文件描述符编号。为了测试/调试程序或其他奇怪的目的,它将很有用。
我认为无论如何我都会这样做,你知道,为了学习目的。我在这里要问的是:它对某人有用吗?我可以发表我的作品并维护它吗?
如果不需要最终用户或程序员,我认为任何操作系统都不会接受我的代码。
感谢您的建议。
linux - ftell 在文件描述符上?
有没有办法在原始文件描述符而不是 FILE* 上执行 ftell() 所做的事情(返回文件中的当前位置)?我认为应该有,因为您可以使用 lseek() 查找原始文件描述符。
我知道我可以使用 fdopen() 创建与文件描述符相对应的 FILE*,但我宁愿不这样做。