免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4686 | 回复: 13
打印 上一主题 下一主题

可否增刪proc文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-20 13:55 |只看该作者 |倒序浏览
用 /proc 文件與內核通信比較方便,可以處理用戶空間的讀寫。

請問,可否處理用戶的增刪操作?
比如我的內核模塊維護一個表,并生成目錄 /proc/mytable,
我通過 touch /proc/mytable/entry1 可以把"entry1"字串傳給內核,生成一個表項;
也可以 rm /proc/mytalbe/entry1 把此項從內核中刪掉。

不知 /proc 系統可做到嗎? 如不行,sysfs 等可做到嗎?

论坛徽章:
0
2 [报告]
发表于 2010-09-20 14:05 |只看该作者
proc应该做不到

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
3 [报告]
发表于 2010-09-20 14:17 |只看该作者
你应该建立好你要操作的proc文件,然后使用echo、write之类的写,cat,read之类的读取

论坛徽章:
0
4 [报告]
发表于 2010-09-20 14:57 |只看该作者
本帖最后由 davhuang 于 2010-09-20 15:00 编辑
你应该建立好你要操作的proc文件,然后使用echo、write之类的写,cat,read之类的读取
Godbach 发表于 2010-09-20 14:17



建立好文件再操作,只能是有限的,如同數組;而增刪卻是無限的,如同鏈表。
除非單獨再增加只用于增刪的文件,如 /proc/mytable/addentry, /proc/mytable/delentry。
還是希望直接增刪文件操作,如果可能的話。

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
5 [报告]
发表于 2010-09-20 14:59 |只看该作者
内存里的信息好像不好增删。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2010-09-20 15:02 |只看该作者
    建立好文件再操作,只能是有限的,如同數組;而增刪卻是無限的,如同鏈表。

其实还是在于你的需求,proc 只是提供了一个接口。内部操作的是什么元素,在于你的代码实现。你可以通过给 proc 传递不同的参数,告知其执行不同的动作。

这个你可以完全控制,就是操作内核态的链表都可以啊。

论坛徽章:
0
7 [报告]
发表于 2010-09-20 17:30 |只看该作者
版主啊,我只是拿數組、鏈表來類比,并非真要操作它們。

我的需求很明確,就是希望實現1樓所說的那種操作,像處理read/write一樣,有方法處理create/remove。

论坛徽章:
0
8 [报告]
发表于 2010-09-20 17:48 |只看该作者
如你描述是无法做到的。

不过可以通过   往某个已存在的文件写入某值后 生成或删除某个文件  。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
9 [报告]
发表于 2010-09-20 18:18 |只看该作者
我的需求很明確,就是希望實現1樓所說的那種操作,像處理read/write一樣,有方法處理create/remove。

那应该也可以吧。你建立一个proc文件,这个文件的 write 就是执行创建和删除一票满足你的需求的 proc 文件。

我觉得应该可以,你可以测试一下。

论坛徽章:
0
10 [报告]
发表于 2010-09-20 20:07 |只看该作者
试着自己改下某个文件系统呗,ext可以增删,把那部分抄过来,加到proc debugfs等里面,不就满足你的要求了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP