红联Linux门户
Linux帮助

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

发布时间:2006-04-27 10:36:51来源:红联作者:风雨无阻
作者:xiaozhe2000 来源:chinaunix

引用:
#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");



原贴:http://bbs.chinaunix.net/viewthread.php?tid=738197
文章评论

共有 5 条评论

  1. sjzxjj22 于 2009-03-29 20:42:27发表:

    [quote][/quote]

  2. sjzxjj22 于 2009-03-29 20:42:06发表:

    :0)1

  3. sjzxjj22 于 2009-03-29 20:41:57发表:

    :0)1

  4. brucezuo 于 2009-03-23 19:58:41发表:

  5. bourne1209 于 2009-03-23 18:40:56发表:

    分享