把内核中的信息打印到文件
来源:互联网 发布:2016域名交易市场规模 编辑:程序博客网 时间:2024/05/01 21:10
1. #include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/syscalls.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#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");
2.
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/tty.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("mq110");
static void print_string(char *str)
{
struct tty_struct *my_tty;
my_tty = current->signal->tty;
if (my_tty != NULL)
{
my_tty->driver->write(my_tty,0,str,strlen(str));
my_tty->driver->write(my_tty,0,"/015/013",2);
}
}
static int __init print_string_init(void)
{
print_string("Hello world!");
return 0;
}
static void __exit print_string_exit(void)
{
print_string("Goodbye world!");
}
module_init(print_string_init);
module_exit(print_string_exit);
[/CODE]
我一般用putty登陆 编写kernel module. printk信息都存在/var/log/message里了.~
用这个程序就能显示在屏幕上了.你可以把print_string 符号导出来.
3.
修改一下/etc/syslog.conf 文件
#kern.* /dev/console
你打印的东西可能是某个级别的信息。比如说debug,这用printk 可以控制 。
那么就写程
kern.debug /var/log/kern_debug.log
-------------------------
printk(KERN_ALERT "Hello, world/n");
对应
/etc/syslog.conf 中的
kern.alert /kernel.txt
实验成功,修改后要执行
server syslogd restart 重启日志服务。
此方法等于用日志服务帮你做这个事情。该信息用
dmesg 命令也可以看到。
- 把内核中的信息打印到文件
- 内核中的信息打印到文件
- 内核信息打印到文件
- android直接把打印信息输出到文件
- 如何把jvm垃圾回收信息打印到文件
- android直接把打印信息输出到文件
- ubuntu内核信息从串口0打印到文件
- pomelog logger信息打印到console而不是文件中的问题
- 打印日志信息到文件
- 如何将内核数据打印到文件
- ios 日志信息打印到文件中
- 把log4j的日志信息打印到swing组件上
- 把log4j的日志信息打印到swing组件上
- 把调试信息打印到console的方法
- 把log4j的日志信息打印到swing组件上
- 把error.jsp中的Exception通过Log4j写到后台文件,显示友善信息给用户
- 如何把matlab命令窗口中的信息输出(重定向)到文件?
- 禁止内核打印信息
- Ubuntu上nfs的安装配置
- 使用ajax乱码问题(asp开发)
- 用U盘安装debian系统
- 访问限制:由于对必需的库 C:/Program Files/Java/jre6/lib/rt.jar 具有一定限制,因此无法访问类型 AudioPlayer
- Gaussian BLUR implemented in cocos2d! (5
- 把内核中的信息打印到文件
- 如何查找相关的源代码学习
- 22条商规
- Hibernate缓存机制
- C++对象在堆栈区的析构
- WinCE|Mobile下的Win32DLL 与 DotNET CF 程序相互调试
- 转一篇老文
- POJ 1915 Knight
- 对编程的一种冲动