linux - 关于/proc 文件系统

标签 linux filesystems kernel ioctl proc

我在 proc 文件系统中使用如下命令

echo 0 > /proc/sys/net/ipv4/ip_forward

注意:我不想知道上面写的命令的基础知识,我想知道当它进入内核时会发生什么。作为,我想实现/proc 文件之一。

现在,如果我想跟踪从 0 在文件系统中回显时开始的代码,那么该怎么做。我的意思是,如果我想跟踪执行此操作时发生的情况。

我想看看在内核代码中这个 0 被接受的位置以及它存储在哪个值中以便进行更改。拜托,有人能告诉你当你调用这个命令时会发生什么吗?我要详细解释。我不想要命令的描述。

有关它如何更改内核参数的任何相关文章也很好。 我读过这个但是,没有在那里解释。 http://www.linuxjournal.com/article/8381 谢谢

最佳答案

在 linux 树(尤其是网络堆栈)中搜索 create_proc_entry 函数。从传递给 create_proc_entry 的名称找出哪个文件创建 ip_forward(它必须在 ip4v 驱动程序中)。 找到该文件后,查看 proc_dir_entry 结构的创建位置以及为其 read_proc、write_proc 成员分配了哪些函数。

关于linux - 关于/proc 文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12066685/

相关文章:

c - 可加载内核模块编程和系统调用拦截

c++ - 英特尔 PIN :Initial Set up of Intel PIN tool

android - 从linux内核中的netfilter NF_INET_PRE_ROUTING钩子(Hook)函数接收socket信息

c# - 如何使用 C# 有效地合并巨大的文件

Android - 数据库与文件系统和对象

linux - 在用户空间编写文件系统驱动程序是否比在内核空间更容易?

c++ - OSX 创建 C++ 内核扩展

memory-management - 确定障碍物(栅栏)的使用位置

python - 如何在后台运行进程并覆盖标准流

linux - 从源代码编译 LAMP - apache2 错误 "no MPM package installed"