内核的打印函数和用户空间的打印函数是相同的,只是关键字不太一样,内核是printk,而用户空间则是printf。
在内核空间只不过有一个打印级别的设置,所谓的打印级别不过是几个宏定义
printk的打印级别一共有8个级别:数字越小说明打印级别越高
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
使用方法:
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命令查看得到那些打印信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)