学院首页>操作系统>Linux>何把内核中的信息打印到文件的方法

何把内核中的信息打印到文件的方法

作者:xiaozhe2000 来源:chinaunix 添加时间:2006-5-26 13:55:37

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#define MY_FILE "/root/LogFile"

char buf[128];

struct file *file = NULL;

static int __init init(void)

{

mm_segment_t old_fs;

printk("Hello, I'm the module that intends to write messages to file.\n");

if(file == NULL)

file = filp_open(MY_FILE, O_RDWR | O_APPEND | O_CREAT, 0644);

if (IS_ERR(file)) {

printk("error occured while opening file %s, exiting...\n", MY_FILE);

return 0;

}

sprintf(buf,"%s", "The Messages.");

old_fs = get_fs();

set_fs(KERNEL_DS);

file->f_op->write(file, (char *)buf, sizeof(buf), &file->f_pos);

set_fs(old_fs);

return 0;

}

static void __exit fini(void)

{

if(file != NULL)

filp_close(file, NULL);

}

module_init(init);

module_exit(fini);

MODULE_LICENSE("GPL");

站内搜索