linux - 什么是 proc 和 sysfs 条目

标签 linux linux-kernel filesystems linux-device-driver

我想了解proc 和 sysfs 条目

到目前为止,我所理解的是,proc 条目是设置到 proc 文件系统的值。我不确定我是否正确。任何人都可以详细解释它的真正需求和使用地点吗?请提供链接以更好地了解它。接受任何类型的指导。

最佳答案

/proc 文件系统是一个特殊的、软件创建的文件系统,内核使用它向世界输出信息。/proc 下的每个文件都绑定(bind)到一个内核函数,该函数在读取文件时动态生成文件的“内容”。我们已经看到其中一些文件正在运行;/proc/modules,例如,总是返回当前加载模块的列表。

/proc 在Linux 系统中被大量使用。现代 Linux 发行版上的许多实用程序,例如 ps、top 和 uptime,都从/proc 获取它们的信息。一些设备驱动程序还通过/proc 导出信息,您的设备驱动程序也可以这样做。/proc 文件系统是动态的,因此您的模块可以随时添加或删除条目。

功能齐全的/proc 条目可能是复杂的野兽;除其他外,它们可以写入和读取。然而,大多数时候,/proc 条目是只读文件。本节关注简单的只读情况。那些对实现更复杂的东西感兴趣的人可以在这里寻找基础知识;然后可以查阅内核源代码以了解完整情况。

然而,在我们继续之前,我们应该提到不鼓励在/proc 下添加文件。/proc 文件系统被内核开发人员视为有点不受控制的困惑,远远超出了其最初的目的(提供有关系统中运行的进程的信息)。在新代码中提供信息的推荐方法是通过 sysfs。正如建议的那样,使用 sysfs 需要了解 Linux 设备模型,但是我们不需要

来源 - http://tjworld.net/books/ldd3/#UsingTheProcFilesystem

关于linux - 什么是 proc 和 sysfs 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14600692/

相关文章:

android - 检测插入的 USB 设备

linux - 网络 block 设备 - 某些读取请求失败 - 内核 OOPS

linux - bash/awk 脚本比较两个不同文件夹中所有文件的内容

linux - Sed、Awk 用于合并两个 cut 语句的输出

linux - 可以屏蔽定时器中断吗?

linux-kernel - LXC/docker.io和内核更新

java - 关于 hadoop hdfs 文件系统重命名

python - Firefox 附加组件 : 1) Linking Python script to add-on main code | 2) win32 api in JPM/NPM | 3) set file attributes in Windows with OS. 文件

linux - 在 Linux 上桥接到/从 CoreFoundation

linux - 使用 bash 为文件添加文件扩展名