内核调试技术 profs

     /proc文件系统是一种特殊的,由软件创建的文件系统,内核通过它向用户输出信息;

/proc下面的每个文件都绑定一个内核函数,当用户读取其中文件时,内核函数会动态生

成文件的内容。例如,/proc/modules列出的是当前系统中已加载模块;linux中的很多工

具都是通过/proc来获取它们所需要的信息,如ps,top等

        /proc文件可以通过下面函数创建:

struct proc_dir_entry * proc_mkdir(const char *name, struct proc_dir_entry *parent)

        创建名字为name的文件目录, 其中,name 为指定文件目录路径及名字, parent为

创建文件的上一级路径,如果设为null,则表示在/proc的根路径下创建;

struct proc_dir_entry * proc_create(const char *name, mode_t mode, struct proc_dir_entry *parent, 

const struct file_operations *proc_fops)

        在指定的parent目录下创建名字为name,权限为mode,file_operations为proc_fops的文件;

        /proc文件通过下面函数接口删除:

void  remove_proc_entry(const char *name, struct proc_dir_entry *parent)

       删除parent指定目录下的name文件;name可以是一般文件也可以是目录文件;


创建/proc/bus/input/目录文件,并在该目录下生成handlers文件;

        struct proc_dir_entry *entry;

        entry = proc_mkdir("bus/input", NULL); 

        proc_create("handlers", 0,entry, &proc_fops);

删除已经创建文件:

        remove_proc_entry("handlers", entry);

        remove_proc_entry("bus/input", NULL);

你可能感兴趣的:(linux,struct,File,null,工具)