> {:ok, ""} 与等效的erlang函数相同。有这种模式的原因吗? 最佳答案 就像@José提到的那样,proc fs是-6ren">
gpt4 book ai didi

erlang - Elixir File.read在访问/proc/cpuinfo时返回空数据

转载 作者:行者123 更新时间:2023-12-04 13:31:49 25 4
gpt4 key购买 nike

当运行任何东西时

File.read "/proc/cpuinfo"
>> {:ok, ""}

与等效的erlang函数相同。有这种模式的原因吗?

最佳答案

就像@José提到的那样,proc fs是特殊的,因为文件内容是动态生成的。如果查看/proc中的文件大小,则会看到它们的大小为0

我相信这就是为什么read函数无法返回任何内容,文件为空的原因!

解决方法是无论如何都强制读取多个字节,在Erlang中,您可以执行以下操作:

{ok, FD} = file:open("/proc/cpuinfo", [read]).
file:read(FD, 1024).

要读取所有内容,请保持读取固定数量的字节,直到 read返回EOF为止。

关于erlang - Elixir File.read在访问/proc/cpuinfo时返回空数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29874941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com