问题标签 [fstat]
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 - 对 st_ino 感到困惑?
如果我使用函数 stat 获取 struct stat,则 st_ino 与带有 ls -i 的 i 节点号相同。
buf 如果我使用函数 fstat,st_ino 始终是 4195126。
谁能告诉我为什么会这样?
c - 如何获取给定名称和父目录句柄或inode的文件大小?
我正在编写一个小实用程序来递归地扫描目录树并记录带有文件名和大小的树结构。(尽可能快)
也许我已经把自己编码到了一个角落。我可以使用 readdir(3) 获取目录的内容,并分别处理常规文件和目录。
openat(), fstat(), close()
除了通过调用外,我没有看到如何获取常规文件的文件大小。
在处理目录条目时,有没有办法更直接地获取文件大小?也许来自inode编号?
我期待这会存在:statat(int parentDirFD, const char * filename)
因为我只有文件名,而不是文件路径。
我的内核中似乎没有 O_PATH 支持。
python - statsmodels patsy 假设检验约束“C()”中的分类变量
您好正在使用 statsmodel 运行以下模型,它工作正常。
但是,如果我想包含分类变量,我不知道如何为 F 检验制定假设C(weather_index)
。我为我尝试了所有可以想象的版本,但总是出错。
以前有人遇到过这个问题吗?
有任何想法吗?
c - 使用 open() 在 C 中读取 .img 文件
我正在尝试映射一个 .img 文件,但我不确定我的代码为什么不起作用。
这是我的代码,当我运行代码时,我不断收到错误,即 p 等于 MAP_FAILED
如果有人对我的代码错误或我遗漏了一条信息有任何建议,我将不胜感激。
更改为 perror() 不起作用。更改此函数也不会改变 p 仍然等于 MAP_FAILED 的事实
我更改了以下解决方案:
但我还是回来了
python - 如果一个目录是从 Ansible 挂载的 NFS,如何辨别?
我需要为“毛茸茸”的应用程序设置一个应用程序目录。根据具体情况,该目录可能对每个参与的服务器都是本地的,或者通过 NFS 在多个服务器之间共享。
因此,我需要能够检测给定路径是本地路径还是 NFS 访问路径,并在后一种情况下跳过一些任务。
在 Ansible 角色中检测到这一点的最佳方法是什么?
我尝试使用stat 模块,但device_type
似乎在所有情况下都设置为 0,NFS 或本地(XFS)。
在 Linux 上,我可以调用stat -f /path
——这将输出详细信息,包括类型(实用程序使用statfs
系统调用)。但这是一种仅限 Linux 的方法,我宁愿避免这种琐碎的操作系统依赖性(mountpoint
实用程序也是如此)。
我会编写一个自定义库函数,但os.statfs
在 Python 中没有......
还剩下什么?
php - PHP fstat() 函数是如何工作的?
PHP fstat() 函数是如何工作的?
该函数是否在每次调用时从磁盘读取文件大小?
或者该函数是否根据执行的所有写入操作计算大小?
例子:
linux - strace 中的 fstat64 和未完成的读取
我有一个用 perl 编写的小型 Web 应用程序,在 apache 下运行 mod_perl。它所做的只是创建与服务器的套接字连接,并在发送请求之前等待 OK 消息。我们最多只有 10 个孩子。随机读取此 Ok 消息会失败。其他读取同时进行。我已经找到了
正常读取有:
但失败有:
5 秒警报/超时是另一端关闭连接,因为它没有收到请求。
有谁知道为什么失败有这个额外的 fstat64 和未完成的读取?
给出“额外” fstat64 和未完成读取的行是:-
这工作正常,直到某些随机事件导致十分之一失败,在随机时间段内,然后它们停止。这会影响同一网络上的 6 个 Web 服务器,它们具有共同的挂载和共同的数据库。我们能找到的唯一区别是这个 fstat64。这 6 个 Web 服务器(apache、mod_perl)连接到同一网络上的其他 2 个服务器之一。我们已经对两台服务器进行了 tcpdump 处理,可以看到“OK nGSrv ready...”消息立即发送并立即接收,但不知何故(仅在这些随机时间段内)客户端未完全/正确读取。
c - 在 fopen() 之后使用 stat() 来避免 TOCTOU 问题?
标题说明了一切:是否可以在使用stat()
后 fopen()
避免检查时间到使用时间 (TOCTOU) 竞争条件?
一些细节:
我正在编写一个仅读取文件的 C 程序,但在被要求读取目录时需要正确出错。截至目前,它使用open()
(with O_RDWR
) 生成错误,然后检查errno
,EISDIR
如下所示:
上述解决方案的问题是该程序只需要读取文件,因此通过打开文件O_RDWR
,如果用户具有读取权限但没有写入权限,我可能会错误地得到权限错误。
是否可以执行以下操作来避免 TOCTOU 竞争条件?
如果不可能,是否有其他解决方案可以防止 TOCTOU 错误以及错误的权限错误?
python - python中os.stat和os.fstat的inode数量的区别
我想在我的 Windows 机器中获取文件的 inode,所以首先我尝试os.stat('./filename.txt').st_ino
了我的 REPL,我得到的输出是0L
.
我对其他几个文件尝试了相同的操作并得到了相同的输出。
然后,我尝试
os.fstat(open("filename.txt", "r").fileno()).st_ino
了,我在输出中得到了一个长整数。对于不同的文件,整数正在改变。所以,我认为 os.fstat 适用于 Windows,而 os.stat 没有。有人可以向我解释这种行为的原因以及两者之间的其他差异吗?
c - 他们如何在 fstat 系统调用中传递其他参数而不是 st_buffer
hello world 程序分配给我运行 strace 命令并查看输出,但我不明白 fstat 系统调用中的一件事。
我知道 fstat 系统调用应该有 stat buff 作为第二个参数,但是这里我们将 mode 和 size 作为参数传递,这怎么会发生?fstat 是如何知道文件 stze 的?