Printk
printk
和 printf
的用法是差不多的,最大区别是printk
可以指定打印优先级。
另外一个区别就是 printf
只在用户态 printk
用于内核态。
定义于: $itop_kernel/include/linux/printk.h
1 | #define KERN_EMERG "<0>" /* system is unusable */ |
而终端控制台的输出优先级配置在文件/proc/sys/kernel/printk
中:
1 | [root: /]# cat /proc/sys/kernel/printk |
4 4 1 7分别是:
4:console_loglevel //这个就是控制台的默认优先级
4:default_message_loglevel // 这个是printk的默认输出优先级
1:minimum_console_level
7:default_console_loglevel