我在 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/