proc文件系统是一种在用户态检查内核状态机制.
子目录:
特点:
内核描述:
struct proc_dir_entry {
};
创建文件:
struct proc_dir_entry *create_proc_entry(const char *name , mode_t mode ,
功能:创建proc文件.
name:要创建的文件名.
mode:要创建文件的属性.
parent:这个文件的父目录,如果父目录是proc,则为NULL.
返回:文件的结构指针. (内核描述的结构体)
创建目录:
struct proc_dir_entry * proc_mkdir (const char *name , struct proc_dir_entry
功能:创建proc目录.
name:目录名称.
parent:这个目录的父目录.
删除目录:
void remove_proc_entry (const char *name , struct proc_dir_entry *parent);
name:目录名称.
parent:这个目录的父目录.
写操作:
int read_proc(char *buffer , char **stat , off_t off , int count , int *peof , void *data);
buffer:把要返回给用户的信息写在buffer里面, max:PAGE_SIZE.
stat:一般不用》
off:偏移量.
count:用户要取的字节数.
peof:读到文件尾时,*peof = 1;
data:一般不用.
写操作:
int write_proc(struct file *file, const char *buffer , unsigned long count , void *data);
file:该proc文件对应得file结构,一般忽略.
buffer:待写得数据所在的位置.
count:待写数据的大小.
data:一般不用.
实现流程:
最后补充一点:
内核异常分析步骤:
搞定~~~可以睡觉了~~