问题标签 [procfs]
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.
linux - 为什么 cp 无法复制 /proc/stat 文件?
在我的 linux 机器中,如果我尝试复制 /proc/stat 它正在创建 0 字节文件。但如果我做 cat /proc/stat 它有数据。但大小始终显示为 0。
正在创建零字节文件。如果我编写一个程序来复制,那么它就可以工作。为什么会这样?
linux - 在 Linux /proc/sys/* 伪文件上寻找(0)?
/proc/sys
Linux文件描述符的语义是否有文档化的标准?
在他们身上使用是否合适seek(0)
?
这是一段似乎适用于我的测试的代码:
这似乎有效。但是,我想知道这是否是做这些事情的正确方法,或者我是否应该循环open()
......read()
close()
在这种特殊情况下,我将把它与collectd Python 插件一起使用......所以这个特殊的代码将在一个守护进程中无限期地运行。但是,我对一般问题的答案很感兴趣。
(顺便说一句,是否有一个“打开的文件/索引节点”模块/插件collectd
)?
c - /proc/partitions 主要和次要编号,用于检测物理磁盘和分区
我想从输出中区分物理磁盘 ( /dev/sda
) 和逻辑磁盘 ( )。/dev/sda1
/proc/partitions
- 我看到的一种简单方法是检查一些正则表达式模式是否以整数结尾
- 正如我所见,我机器上的输出比所有条目的
sda
价值最小sdaN
- 检查是否存在
/sys/block/[NAME]
所以我将尝试读取/sys/block/sdaN
目录(这将失败)和/sys/block/sda
(这将成功)
我不知道哪个可靠,还有其他方法吗?
另外,我怎样才能可靠地制作树状结构sda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}
- 就凭它的名字
- 按次要号码
- 再次调查
/sys/block
- 按位置(是否确认 sda1 总是在 sda 之后?例如,逻辑分区条目是否总是在物理磁盘条目之后?)
linux - 如何与用户空间共享 linux 内核内存(只读)
我需要与用户空间共享大约 100KiB 的内核内存。用户空间守护程序将以只读方式每秒访问此内存数 (5-10) 次。是否procfs
是实施它的最佳方式?
linux - 为什么 proc/ID/maps 有多个共享库条目
我正在查看嵌入式 Linux 下的 proc/ID/maps,我注意到一些共享库在进程的内存映射中出现了几次,为什么会这样?
macos - 获取 OS X 中打开的文件(描述符)列表
我想获取 os x (10.9.1) 进程中打开文件的列表。在Linux中,我能够从/proc/PID/fd
. 但是我不确定如何在 OS X 上获得相同的结果。我发现 OS X 上不存在 procfs(默认情况下。可能的实现存在,但我不想那样做)。
那么我如何(本机)获取 OS X 进程中打开文件的列表。一种方法是lsof
. 还有其他支持吗?请让我知道在哪里可以获得更多信息。
谢谢。
c++ - 使用线程调试程序期间出现奇怪错误:无法打开 /proc 文件
在使用线程调试程序期间,我遇到了一个奇怪的错误:
在调试会话期间我没有收到其他警告。
进程/线程 3663 不存在。
gdb怎么会误解进程/线程的pid呢?我可以做哪些额外的检查来定位问题?
c - 从 C 内核模块检查 /proc 文件
我想在内核和用户空间之间共享一个变量,我发现它可以使用procfs。如果设置了给定值,内核模块必须以某种方式运行。用户空间程序负责改变这个值,但内核模块必须在必要时读取它。
我知道我必须/proc
在内核模块中创建文件。我的问题是,如何从内核模块中读取文件?
c - 读取时工作队列和计时器模块崩溃
我正在制作一个包含三个部分的模块。我在 Debian 6 中工作。
第一个是每 125 个刻度触发的计时器。它的功能是挑选系统 jiffies,屏蔽它们并将它们包含在一个有 10 个空格的循环缓冲区中。当该空间的 80% 忙时,工作项将被添加到工作队列中,该工作队列会将数字放入列表中。当任何用户读取 /proc/modtimer 条目时,该列表将删除其元素。
我遇到的问题是:我可以毫无问题地安装模块,创建 /proc 条目(我需要 2 个,但现在我只实现了一个)没有问题,但是当我尝试读取内核时崩溃。当我阅读控制消息时,我认为问题出在发布过程中。我不知道问题是什么。这是我的代码
编辑:经过几次测试,我的程序崩溃了:“del_timer_sync(&my_timer);”
EDIT2:我删除了除安装/卸载/打开/关闭/读取功能之外的所有内容,因为其他任何内容都无关紧要
EDIT3:也可以是“add_timer(&my_timer);”
linux - Linux 守护进程中的高效文件检查
我正在寻找一种更有效的方法来监视我的守护进程中的文件。我写了一个脚本来循环观看几个文件(/proc/btn_sw1
和/proc/btn_sw2
)......我知道循环是一个坏主意,我没有意识到它会有多糟糕。
我的守护进程是通过 init 进程自动启动的,在它启动后我检查了top
输出,我的进程是 #1,持续运行 ~17% CPU:
当按下/释放硬件按钮时,我的守护程序监视由键盘驱动程序设置的 /proc 条目(它们的值只是 1 或 0)。所以我需要知道这些文件的价值何时发生变化。
当文件的值改变时,有没有办法让我的守护进程被唤醒?注意:我不想在每次读取之间只睡 X 秒,因为我需要超时按下按钮的时间,而且我不想错过开始。
我当前的守护进程代码: