首页 > 编程知识 正文

printk用法,Linux图形界面级别

时间:2023-05-04 17:06:08 阅读:165246 作者:253

内核中的预定义内核log级别//include/Linux/kern _ levels.h # define kern _ soh ' 001 '/* asciistartofheader */# define kern _/* asciistartofheader 01 ' # define kern _ emerg kern _ soh '0'/* systemid actionmustbetetting dfinekern _ crit kern _ soh '2'/* critical conditions */# define kern _ err kern _ soh '3'/* erron error conditions warning conditions */# define kern _ notice kern _ soh '5'/* normalbutsignificantcondition */# define kern define kern _ debug kern _ soh '7'/* debug-level messages */# define kern _ default kern _ soh ' d '/* thedefaultkertkernet

0~127的各数字可以看作一个字符。 ’ 001’是八进制之一,被转换为十进制,也是1。

控制字符是出现在特定信息文本中,表示某个控制功能的字符。

在ASCII码中,0~31号和127号(共33个字符)是LF (换行符)、CR (换行符)、FF (分页符)、DEL )、BS (反向锯齿)、BEL (振铃)等控制字符或通信专用通信专用字符: SOH (句首)、EOT )、ACK )等。

printk打印消息控制//Linux/include/printk.h/* printk ' swithoutaloglevelusethis . */# define message _ log level _ default chis weshoweverythingthatismoreimportantthanthanthis . */# define console _ log level _ defary define console _ log level _ min1efineconsole _ log level _ default7------------------- log/* console _ log level */message _ log level _ default _ message _ log level,/* default _ message _ log 请参阅# define console _ log level (console _ printk [0] ) define default _ message _ message ) definedefault_message_loglevel ) console define default _ console _ log level (console _ printk [3] ) console _ clog

只有printk打印消息的log优先级高于console_loglevel时,才能输出到终端

default_message_loglevel

printk打印消息时的默认日志级别

minimum_console_loglevel

可以在console_loglevel中设置的最小值

default_console_loglevel

console_loglevel的默认值

1 .查看当前printk打印消息的日志级别# cat/proc/sys/kernel/printk # 7417“7417”,分别为console_loglevel、default _ mesest

2 .更改console_loglevel # echo8417/proc/sys/kernel/printk更改console _ log level的值,输入“8417”以更改终端上的所有打印消息

如果要阻止所有内核的printk打印,只需将第一个数字设置为最小值1或0即可。

# echo 1417/proc/sys/kernel/printk或

# echo 0407/proc/sys/kernel/printk printk打印示例将以下代码添加到驱动程序中,以验证内核打印级别和prink参数打印级别。

每个insmod、rmmod led模块的打印级别设置会产生不同的打印结果。

printk (kern _ emerg (1111111 kern _ emerg (n ) ); 打印(kern _ alert ' 2222 kern _ alert (n ); printk (kern _ crit (333333 kern _ crit (n ) ); printk (kern _ err (44444444 kern _ err (n ) ); printk (kern _ warning ' 55555 kern _ warningn ' ); printk (kern _ notice (66666 kern _ notice (n ) ); printk (kern _ info (77777 kern _ info (n ) ); printk (kern _ debug (88888 kern _ debug (n ) ); printk(9999no_fix(n ) ); 操作:

一次设置编译内核源时的默认打印级数。 【在kernel/printk.c中定义】

在echo 8417/proc/sys/kernel/printk insmod模块之后,打印信息如下:

1111111 KERN_EMERG

2222 KERN_ALERT

3333333 KERN_CRIT

44444444 KERN_ERR

55555 KERN_WARNING

66666 KERN_NOTICE

77777 KERN_INFO

888888 KERN_DEBUG

9999 no_fix

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。