问题标签 [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.

0 投票
2 回答
2767 浏览

linux - 为什么 cp 无法复制 /proc/stat 文件?

在我的 linux 机器中,如果我尝试复制 /proc/stat 它正在创建 0 字节文件。但如果我做 cat /proc/stat 它有数据。但大小始终显示为 0。

正在创建零字节文件。如果我编写一个程序来复制,那么它就可以工作。为什么会这样?

0 投票
1 回答
707 浏览

linux - 在 Linux /proc/sys/* 伪文件上寻找(0)?

/proc/sysLinux文件描述符的语义是否有文档化的标准?

在他们身上使用是否合适seek(0)

这是一段似乎适用于我的测试的代码:

这似乎有效。但是,我想知道这是否是做这些事情的正确方法,或者我是否应该循环open()......read()close()

在这种特殊情况下,我将把它与collectd Python 插件一起使用......所以这个特殊的代码将在一个守护进程中无限期地运行。但是,我对一般问题的答案很感兴趣。

(顺便说一句,是否有一个“打开的文件/索引节点”模块/插件collectd)?

0 投票
1 回答
3522 浏览

c - /proc/partitions 主要和次要编号,用于检测物理磁盘和分区

我想从输出中区分物理磁盘 ( /dev/sda) 和逻辑磁盘 ( )。/dev/sda1/proc/partitions

  1. 我看到的一种简单方法是检查一些正则表达式模式是否以整数结尾
  2. 正如我所见,我机器上的输出比所有条目的sda价值最小sdaN
  3. 检查是否存在/sys/block/[NAME]所以我将尝试读取/sys/block/sdaN目录(这将失败)和/sys/block/sda(这将成功)

我不知道哪个可靠,还有其他方法吗?

另外,我怎样才能可靠地制作树状结构sda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}

  1. 就凭它的名字
  2. 按次要号码
  3. 再次调查/sys/block
  4. 按位置(是否确认 sda1 总是在 sda 之后?例如,逻辑分区条目是否总是在物理磁盘条目之后?)
0 投票
1 回答
10055 浏览

linux - 如何与用户空间共享 linux 内核内存(只读)

我需要与用户空间共享大约 100KiB 的内核内存。用户空间守护程序将以只读方式每秒访问此内存数 (5-10) 次。是否procfs是实施它的最佳方式?

0 投票
1 回答
1511 浏览

linux - 为什么 proc/ID/maps 有多个共享库条目

我正在查看嵌入式 Linux 下的 proc/ID/maps,我注意到一些共享库在进程的内存映射中出现了几次,为什么会这样?

0 投票
9 回答
74587 浏览

macos - 获取 OS X 中打开的文件(描述符)列表

我想获取 os x (10.9.1) 进程中打开文件的列表。在Linux中,我能够从/proc/PID/fd. 但是我不确定如何在 OS X 上获得相同的结果。我发现 OS X 上不存在 procfs(默认情况下。可能的实现存在,但我不想那样做)。

那么我如何(本机)获取 OS X 进程中打开文件的列表。一种方法是lsof. 还有其他支持吗?请让我知道在哪里可以获得更多信息。

谢谢。

0 投票
1 回答
2813 浏览

c++ - 使用线程调试程序期间出现奇怪错误:无法打开 /proc 文件

在使用线程调试程序期间,我遇到了一个奇怪的错误:

在调试会话期间我没有收到其他警告。

进程/线程 3663 不存在。

gdb怎么会误解进程/线程的pid呢?我可以做哪些额外的检查来定位问题?

0 投票
2 回答
1114 浏览

c - 从 C 内核模块检查 /proc 文件

我想在内核和用户空间之间共享一个变量,我发现它可以使用procfs。如果设置了给定值,内核模块必须以某种方式运行。用户空间程序负责改变这个值,但内核模块必须在必要时读取它。

我知道我必须/proc在内核模块中创建文件。我的问题是,如何从内核模块中读取文件?

0 投票
1 回答
541 浏览

c - 读取时工作队列和计时器模块崩溃

我正在制作一个包含三个部分的模块。我在 Debian 6 中工作。

第一个是每 125 个刻度触发的计时器。它的功能是挑选系统 jiffies,屏蔽它们并将它们包含在一个有 10 个空格的循环缓冲区中。当该空间的 80% 忙时,工作项将被添加到工作队列中,该工作队列会将数字放入列表中。当任何用户读取 /proc/modtimer 条目时,该列表将删除其元素。

我遇到的问题是:我可以毫无问题地安装模块,创建 /proc 条目(我需要 2 个,但现在我只实现了一个)没有问题,但是当我尝试读取内核时崩溃。当我阅读控制消息时,我认为问题出在发布过程中。我不知道问题是什么。这是我的代码

编辑:经过几次测试,我的程序崩溃了:“del_timer_sync(&my_timer);”

EDIT2:我删除了除安装/卸载/打开/关闭/读取功能之外的所有内容,因为其他任何内容都无关紧要

EDIT3:也可以是“add_timer(&my_timer);”

0 投票
1 回答
212 浏览

linux - Linux 守护进程中的高效文件检查

我正在寻找一种更有效的方法来监视我的守护进程中的文件。我写了一个脚本来循环观看几个文件(/proc/btn_sw1/proc/btn_sw2)......我知道循环是一个坏主意,我没有意识到它会有多糟糕。

我的守护进程是通过 init 进程自动启动的,在它启动后我检查了top输出,我的进程是 #1,持续运行 ~17% CPU:

当按下/释放硬件按钮时,我的守护程序监视由键盘驱动程序设置的 /proc 条目(它们的值只是 1 或 0)。所以我需要知道这些文件的价值何时发生变化。

当文件的值改变时,有没有办法让我的守护进程被唤醒?注意:我不想在每次读取之间只睡 X 秒,因为我需要超时按下按钮的时间,而且我不想错过开始。

我当前的守护进程代码: