1. /proc 下文件的内容是动态创建的,当文件可写时可用作控制和配置目的。

2. 在某个进程读取 /proc 文件时,内核会分配一个内存页,驱动程序通过这个内存页将数据返回到用户空间 (read()调用传入的用户空间的buff指针)。

3. 驱动程序中需要定义一个 read_proc() 函数,并且把该函数与 /proc 入口项 (/proc 下的文件节点) 连接起来通过内核函数create_proc_read_entry()。

4. 实例

//proc.c
#include <linux/module.h>
#include <linux/init.h> #include <linux/proc_fs.h> char buffer[]="good morning\n";
int scull_read_procmem(char *buf, char **start, off_t offset,
int count, int *eof, void *data)
{
int len;
len = sprintf(buf,"%s",buffer);
return len;
} int proc_init_module(void)
{
create_proc_read_entry("mem", /* default mode */,
NULL /* parent dir */, scull_read_procmem,
NULL /* client data */);
return ;
} void proc_cleanup_module(void)
{
remove_proc_entry("mem", NULL /* parent dir */);
} module_init(proc_init_module);
module_exit(proc_cleanup_module);

分析: 不能直接将 buffer的地址赋给 buf ,而是需要通过 sprintf() 格式化输出到buf 。

最新文章

  1. Servlet3.0的异步
  2. java分享第九天-01(抽象类)
  3. web前端学习笔记(CSS盒子的定位)
  4. php中一个&quot;异类&quot;语法: $a &amp;&amp; $b = $c;
  5. Codeforces Beta Round #75 (Div. 1 Only) B. Queue 线段树+二分
  6. 存储过程使用表变量或临时表代替游标Fetch实例,访问远程数据库
  7. usaco training 4.2.2 The Perfect Stall 最佳牛栏 题解
  8. instanceof问题
  9. JavaScript保留关键字2。
  10. 使用JavaScript在Canvas上画出一片星空
  11. unity描边效果
  12. WeTest----如何使用WeTest进行App性能测试?
  13. Appium TestNg Maven Android Eclipse java自动化环境搭建
  14. ThreadPoolExecutor 几个疑惑与解答
  15. C++ 知识回顾总结 -- queue 队列容器
  16. MongoDB集群单mongos的问题总结
  17. 关于dos命令行脚本编写
  18. SpringCloud使用Feign调用服务时,@FeignClient注解无法使用
  19. Archlinux/Manjaro使用笔记-安装配置搜狗输入法步骤
  20. VS没办法调试,直接退出,报错:1. 使用调试生成配置或禁用调试选项“启用‘仅我的代码’”。。。

热门文章

  1. Vue2.x整合百度地图JavaScript方案
  2. python中的with
  3. maven教程基础
  4. ios之gcd
  5. mysql视图 新手的问答
  6. Logstash之三:命令行中常用的命令
  7. LNMP中常见的502错误及处理方法
  8. Jmeter接口压测
  9. 关于Linux服务器磁盘空间占满问题的解决方法
  10. Jenkins邮件扩展(Email Extension插件 Windows环境)