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

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

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

#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");
(e129)
站内搜索