printk

Printk与Printf对比:

相同点: 

  打印信息

不同点:

  Printk在内核中使用,Printf在应用程序中使用

  Printk允许根据严重程度,通过附加不同的“优先级”来对消息分类。

在<linux/kernel.h>中定义了8种记录级别。按照优先级递减的顺序分别是:

KERN_EMERG “<0>”
用于紧急消息,常常是那些崩溃前的消息。

KERN_ALERT “<1>”
需要立刻行动的消息。

KERN_CRIT “<2>”
严重情况。

KERN_ERR “<3>”
错误情况。

KERN_WARNING “<4>”
有问题的警告

KERN_NOTICE “<5>”
正常情况,但是仍然值得注意

KERN_INFO “<6>”
信息型消息

KERN_DEBUG “<7>”
用作调试消息

没有指定优先级的printk默认使用
DEFAULT_MESSAGE_LOGLEVEL优先级,
它是一个在kernel/printk.c中定义的整数。
在2.6.29内核中
#define DEFAULT_MESSAGE_LOGLEVEL 4
/* KERN_WARNING */

在图形化界面中prink权限要求KERN_EMERG,而初始化函数中prink语句权限为KERN_ERR

所有打印输出信息都会保存在文件/var/log/message中,可以通过该文件来查看输出信息。

posted @ 2016-05-04 19:29  fengdeyingzi  阅读(367)  评论(0编辑  收藏  举报