问题标签 [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 投票
7 回答
3842 浏览

linux - Unix Proc 目录

我正在尝试查找包含当前用户 ID 的虚拟文件。有人告诉我可以在 proc 目录中找到它,但不太确定是哪个文件。

0 投票
3 回答
2261 浏览

c - 是什么让 pthread 失效了?

我正在使用当前创建后台线程 (PTHREAD_DETACHED) 然后调用 pthread_exit(0) 的多线程程序(使用 pthreads)。我的问题是该进程随后被列为“已失效”,奇怪的是似乎在 /proc 中并不“真正存在”(这破坏了我的调试策略)

我希望满足以下要求:

  • 程序应该循环运行函数 A 和函数 B 一次
  • 给定程序 /proc/$pid/exe 的 PID,/proc/$pid/maps 和 /proc/$pid/fd 必须是可访问的(当进程失效时,它们都是空链接或无效链接)
  • 必须可以像往常一样使用 CTRL+C 和 CTRL+Z 暂停/中断程序

编辑:我犹豫要更改程序的界面,以使 A 在“主”线程中,而 B 在衍生线程中(它们目前以另一种方式)。它会解决问题吗?

0 投票
5 回答
5367 浏览

linux - Linux 内核 /proc FIFO/管道

我目前正在尝试创建一个内核模块,该模块将根据内核事件生成数据并将它们推送到文件中。在读到这很糟糕(我同意)之后,我决定将数据放在 /proc 文件中,用户程序可以在必要时从中提取数据会更有意义。然而,这个想法导致了各种各样的问题,特别是何时以及如何清除这个文件。所以我想......“为什么我不在 /proc 中创建一个命名管道并从中读取呢?”

我已经掌握了为 proc 文件设置读取函数和写入函数的一般要点,但我仍然在如何处理这个问题上遇到概念上的问题。也就是说,我将如何编写这样一个函数来获取任意数据并将其从内核写入这样的管道?有谁知道如何将数据从内核空间推送到命名管道?最后,它不一定/proc 文件(特别是如果我这样做是错误的),但这是我得出的结论。然后我必须弄清楚如何从用户空间程序附加到它,但我觉得这是一个单独的问题。

0 投票
3 回答
12541 浏览

linux-kernel - 如何在 /proc/driver 下创建 proc 条目?

我想在目录下创建一个文件/proc/driver。我想使用类似proc_root_driver(或提供的其他东西)的宏,而不是明确使用“驱动程序/模块名称”。我使用create_proc_entry

谷歌搜索后,我发现了使用的建议proc_root_driver,但是当我使用它时,我得到了错误

此函数中未声明 proc_root_driver

而且,proc_root_driver在 linux/proc_fs.h 中不可用。

我试图声明这样的结构:

编译错误消失了,但文件没有出现在/proc/driveror下/proc。我怎样才能在其中创建一个条目/proc

0 投票
3 回答
53961 浏览

linux - /proc/meminfo 中的条目

我可以理解/proc/meminfo中包含的大部分信息,例如总内存、缓冲区、缓存等。你能告诉我下面列出的那些不太明显的信息是什么意思吗?

  • 匿名页面
  • 映射
  • 板坯
  • NFS_不稳定
  • 弹跳
  • VmallocTotal
  • VmallocUsed
  • VmallocChunk

如果有人想知道,我说的是 linux 命令cat /proc/meminfo的输出

0 投票
1 回答
205 浏览

linux - 将自定义硬件与一个输入接口以在 /proc 中的某个位置进行切换的最简单方法是什么?

我有一个设备,它需要低电流 3-12v 输入信号来实现它的魔力,我想将它连接到我的 linux 盒子。我对此有哪些选择?拥有一些可能的低成本用户空间解决方案会很棒。

0 投票
3 回答
920 浏览

filesystems - 使用 procfs 的 Linux 内核代码:我应该注意什么?

我对内核补丁有一个非常好的想法,我想在形成我的想法之前进行一些研究并查看代码示例。

我正在寻找有趣的代码示例来演示 procfs(Linux/proc文件系统)的高级用法。有趣,我的意思不仅仅是阅读记录的价值。


我的想法是为每个进程提供一个简单的广播机制。例如,让我们考虑一个运行多个实例的进程,rsync并希望检查每个子进程的传输状态(到目前为止已传输了多少字节)。目前,我不知道有什么办法可以做到。

我打算为该过程提供一个最小的接口来将数据写入procfs. 该数据将放置在 PID 目录下。例如:

我可以为此想到许多优势,主要是在并发领域。

顺便说一句,如果这种机制已经存在,请告诉...

0 投票
3 回答
6313 浏览

c++ - 解析proc/pid/cmdline获取函数参数

我正在尝试通过使用 cmdline 中的数据来提取调用应用程序的参数。

如果我像这样启动一个应用程序实例:

我的应用程序 1 2

然后 cat myapp 的 cmdline 我会看到类似 myapp12 的内容。

我需要提取这些值,我用这段代码来做



但我得到的只是应用程序名称,没有参数......


从答案复制更新:

好吧,我现在的问题似乎是如何读取 cmdline 文件而不让它在第一个 NULL 字符处停止...

不做任何其他事情所以...

0 投票
1 回答
1370 浏览

linux - 从 proc_fops.open 访问 proc_dir_entry?

我正在编写一个与 /proc 一起工作的 linux 内核模块......我正在尝试使用新的 seq 方法来返回 /proc 的数据......无论如何,在我调用 proc_create_data() 之后,我有一个 proc_dir_entry (其-> 数据成员指向我提供的上下文)...无论如何,file_operations 结构也被传递,我真的需要知道如何从 open() 文件操作中访问 proc_dir_entry 或 proc_dir_entry->data...

0 投票
2 回答
1908 浏览

c - 进程的线程级内存消耗

如何在 Linux 中获取基于每个线程的进程的内存消耗?我知道我们可以使用 /proc/pid/task/tid/statm,但这对我的情况没有帮助。所有线程都显示相同的值,并且与 PID 的 statm 相同。

我们可以做 valgrind,但我不是在寻找任何无效的读/写或泄漏。Valgrind 不会告诉我任何线程级别的信息。

还有其他建议吗?

编辑:我如何分析我的代码?在哪个函数/行号等中分配了多少内存?