综述:printk 允许你根据消息的严重程度对其分类, 通过附加不同的记录级别或者优先级在消息上. 常常用一个宏定义来指示记录级别.
例子:2 个 printk 命令, 一个调试消息, 一个紧急消息:
printk(KERN_DEBUG "Here I am: %s:%i\n", __FILE__, __LINE__); printk(KERN_CRIT "I'm trashed; giving up on %p\n", ptr);
有 8 种可能的记录字串, 在头文件 <linux/kernel.h> 里定义; 按照严重性递减的顺序列出它们:
KERN_EMERG 用于紧急消息, 常常是那些崩溃前的消息.
-
KERN_ALERT 需要立刻动作的情形.
-
KERN_CRIT 严重情况, 常常与严重的硬件或者软件失效有关.
-
KERN_ERR 用来报告错误情况; 设备驱动常常使用 KERN_ERR 来报告硬件故障.
-
KERN_WARNING 有问题的情况的警告, 这些情况自己不会引起系统的严重问题.
-