当先锋百科网

首页 1 2 3 4 5 6 7

内核的打印函数和用户空间的打印函数是相同的,只是关键字不太一样,内核是printk,而用户空间则是printf。

在内核空间只不过有一个打印级别的设置,所谓的打印级别不过是几个宏定义

printk的打印级别一共有8个级别:数字越小说明打印级别越高

#define KERN_EMERG        "<0>"
#define KERN_ALERT         "<1>"
#define KERN_CRIT            "<2>"
#define KERN_ERR             "<3>"
#define KERN_WARNING   "<4>"
#define KERN_NOTICE       "<5>"
#define KERN_INFO            "<6>"
#define KERN_DEBUG       "<7>"

使用方法:

printk (打印机别"需要打印的信息");

我们可以设置打印级别,超过那个标准才可以打印,否在不予在显示屏上打印。

查看当前系统的打印机别:

$cat /proc/sys/kernel/printk

4    4    1    7

打印级别的设置可以通过以下几种方法:

1. echo "新的打印级别  4    1    7" > /proc/sys/kernel/printk

2. 在编译内核的时候可以通过修改

kernel hacking 

CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4

改变等号后边的4为自己需要的界限,如:2

3. 当然了,由于打印级别不够的那些信息,并不是内核没有打印,而是在后台输入到了日志文件中去

我们可以通过dmesg命令查看得到那些打印信息