永发信息网

关于linux 内核建立proc文件夹的问题

答案:2  悬赏:70  手机版
解决时间 2021-03-28 00:31
关于linux 内核建立proc文件夹的问题
最佳答案
在早期的 2.6内核(比如2.6.11),是定义在 include/linux/proc_fs.h 中,比如

extern struct proc_dir_entry proc_root;
extern struct proc_dir_entry *proc_root_fs;
extern struct proc_dir_entry *proc_net;
extern struct proc_dir_entry *proc_net_stat;
extern struct proc_dir_entry *proc_bus;
extern struct proc_dir_entry *proc_root_driver;
extern struct proc_dir_entry *proc_root_kcore;

而这些全局变量的真正定义和初始化,则是在 fs/proc/root.c里,比如:

变量声明
L21 struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs, *proc_root_driver;

在 void __init proc_root_init(void) 这个函数中,内核创建了proc文件系统的根目录及net,driver等子目录,比如在这个函数中,你可以看到类似于这样的语句,就是用来创建这些目录的

L55 proc_net = proc_mkdir("net", NULL);

L69 proc_root_driver = proc_mkdir("driver", NULL);

但是我看了一下,在最新的内核中 (比如2.6.34),proc fs这个模块改动了不少,已经无法用上面的方法来找到 proc_net 这些全局变量了,不过说实话这些变量意义并不大,毕竟在 proc_mkdir的时候,只要用全路径名就可以了,比如
proc_mkdir("test", proc_net)
其实和
proc_mkdir("net/test", NULL)
没有区别的。
全部回答
系统默认文件夹,可以查看系统信息:cat /proc/cpuinfo
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
保安员二班制怎么转班
请人辨别家中古玩架上的和田玉真假!当初花了
一个表格里面怎么把两个同一样的名字排列起来
在刑拘二十多天被批捕的通知家人吗
1965年的十元钱现在能值多少钱?
我的悦动车在不起动时踩下离合器金属磨擦声音
用SAI时出现的问题。
读了大象学校知道了什么道理
为什么我的vivoy75充了两个多小时才能充完电
买了i7-6950x 组了个四路的gtx1080为什么玩扫
白阳拉丁舞艺术培训中心地址好找么,我有些事
为什么总想去同一个地方拜佛
宽4米高3米的窗户做1.4mm55断桥可以吗?
什么是清算价格法
我妈是汉族!我爸是满族!那我随哪方民族咯?
推荐资讯
什么菜适合搭配米线?
QQ幻想最新物价,关于宠物觉醒书的,+6以上书
单选题歌曲《青花瓷》以瓷器作为“中国元素”
如图在平静的湖面上,有一支红莲BA,高出水面
我好纠结谁能告诉我这个人现在是怎么想的?我
民警接受群众报案应当怎样处理
卫生间墙砖如何贴
现在阀门生意怎么这么难做啊!
叙利亚领空净空为什么 揭秘领空净空原因
电工使用的尖嘴钳与钳工使用的尖嘴钳在颜色上
我想了解姜老太修肤堂产品的价格?百度孑搜不
歌词bita bita是什么歌
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?